Как скрыть определенные поля сериализатора по URL в django rest? - PullRequest
0 голосов
/ 16 июня 2019

Я сделал сериализатор, который мог бы сериализовать поля моей модели, я просто создал 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...