Size: a a a

Django [ru] #STAY HOME

2019 September 19

F

Fred in Django [ru] #STAY HOME
вопрос в сериалайзере пытаюсь SerializerMethodField вывести список нужных мне людей, но я что-то делаю не так
# client = serializers.PrimaryKeyRelatedField(queryset=User.objects.filter(is_client=True))
   client = SerializerMethodField(method_name='get_client')

   def get_client(self, obj):

       request = self.context.get('request', False)

       # print(request)
       if request and request.user:
           user = User.objects.filter(user=self.request.user)
           manager = Manager.objects.get(user=user)
           client = Client.objects.filter(region=manager.region)
           user_client = User.objects.filter(user_id=client.id)
           # serializer = ClientSerializer(instance=client)
           serializer = ClientUserSerializer(instance=user_client)
           return serializer.data
источник

F

Fred in Django [ru] #STAY HOME
в чём может быть проблема
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
user = User.objects.filter(user=self.request.user) вот эта строчка зачем?
источник

a

anton000v in Django [ru] #STAY HOME
Dan Tyan
Зачем?
Что именно зачем?
источник

F

Fred in Django [ru] #STAY HOME
Pavel Zagrebelin
user = User.objects.filter(user=self.request.user) вот эта строчка зачем?
ну убрал, от этого ничего не изменилось, так-же нет поля со списком
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
вообще по идее  эксепшен должен быть, что у "объекта кверисет нет поля id".
client = Client.objects.filter(region=manager.region)
user_client = User.objects.filter(user_id=client.id)
источник

F

Fred in Django [ru] #STAY HOME
Pavel Zagrebelin
вообще по идее  эксепшен должен быть, что у "объекта кверисет нет поля id".
client = Client.objects.filter(region=manager.region)
user_client = User.objects.filter(user_id=client.id)
да нету ничего даже в консоли
источник

F

Fred in Django [ru] #STAY HOME
я просто хочу чтобы список был по фильтру
источник

F

Fred in Django [ru] #STAY HOME
и все, неужели мне отдельную функцию пилить для списка с фильтрацией по request.user
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Fred
да нету ничего даже в консоли
закоментированный print(request) если убрать комент, что покажет?
источник

F

Fred in Django [ru] #STAY HOME
Pavel Zagrebelin
закоментированный print(request) если убрать комент, что покажет?
ничего даже поле client не отрисовывет в drf ui
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
а сериализатор вообще тот используется?
источник

EB

Ewgen Bohovchuk in Django [ru] #STAY HOME
ты в мета в филдах указал это поле?
источник

EB

Ewgen Bohovchuk in Django [ru] #STAY HOME
чтоб отображалось
источник

F

Fred in Django [ru] #STAY HOME
Ewgen Bohovchuk
чтоб отображалось
да
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
там вроде своя ошибка будет, если филды в мете и в сериализаторе различаются?
источник

EB

Ewgen Bohovchuk in Django [ru] #STAY HOME
не будет ошибки
источник

EB

Ewgen Bohovchuk in Django [ru] #STAY HOME
просто не отобразится
источник

F

Fred in Django [ru] #STAY HOME
client = SerializerMethodField()
meta:
fields = ['client']
источник

F

Fred in Django [ru] #STAY HOME
сейчас ничего не отображается
источник