我制作了一个可以序列化我的模型字段的序列化程序,我只是通过serializerMethod字段创建了uri,它为我提供了该特定对象的URL,我在DetailView上的列表和详细信息视图都使用了相同的序列化程序,我没有不想使用uri字段,那么如何将其隐藏在该网址上。
这是我的序列化器
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)