Я сделал сериализатор, который мог бы сериализовать поля моей модели, я просто создал uri с помощью serializerMethod Field, который дал мне URL-адрес этого конкретного объекта, я использую один и тот же сериализатор как для списка, так и для подробного представления, в DetailView, я нене нужно поле uri, так как я могу скрыть его в этом URL.
Это мой сериализатор
class Buyer_Serializer(serializers.ModelSerializer):
uri = serializers.SerializerMethodField(read_only =True)
class Meta:
model = Buyer
fields = [
"user",
"order",
"created",
"updated",
"uri"
]
def get_uri(self,obj):
request = self.context.get('request')
view = self.context.get('view')
try:
viewnext = ({buyer.api.views.BuyerDetail})
if view == viewnext:
return None
elif obj.pk in request:
return None
except:
return api_reverse("api:buyer_detail",kwargs = {"pk":obj.pk},request = request)