如何在Django Rest中的URL上隐藏某些序列化器字段?

时间:2019-06-16 06:49:17

标签: generics django-rest-framework django-serializer

我制作了一个可以序列化我的模型字段的序列化程序,我只是通过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)

0 个答案:

没有答案