Size: a a a

Django [ru] #STAY HOME

2019 July 22

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
get_queryset() какой-нибудь
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
я не понял вопрос
реквестю лист из определенной вьюхи. в фильтер бекендс прилетает кверисет. кверисет изначально кривой
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
или что-нибудь в этом роде
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
если я не ошибаюсь, то там есть get_queryset, который определяет qs начального уровня, а сверху на него фильтры
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
но я сторонник другого подхода
источник

S

Spirit💎 in Django [ru] #STAY HOME
то есть вьюсет, который наследует mixins.ListModelMixin уже получает кривой кверисет
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
если я не ошибаюсь, то там есть get_queryset, который определяет qs начального уровня, а сверху на него фильтры
до гет кверисета не доходит дело
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
от каких классов наследуется твоя view?
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
от каких классов наследуется твоя view?
все стандартно
источник

S

Spirit💎 in Django [ru] #STAY HOME
здесь же оверрайд листа. и на self.get_queryset() уже приходит дичь
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
какой запрос ты к Django делаешь?
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
лист?
источник

S

Spirit💎 in Django [ru] #STAY HOME
+
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
значит
class ListModelMixin:
   """
   List a queryset.
   """
   def list(self, request, *args, **kwargs):
       queryset = self.filter_queryset(self.get_queryset())

       page = self.paginate_queryset(queryset)
       if page is not None:
           serializer = self.get_serializer(page, many=True)
           return self.get_paginated_response(serializer.data)

       serializer = self.get_serializer(queryset, many=True)
       return Response(serializer.data)
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
queryset = self.filter_queryset(self.get_queryset())
вот он первой же строчкой
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
значит
class ListModelMixin:
   """
   List a queryset.
   """
   def list(self, request, *args, **kwargs):
       queryset = self.filter_queryset(self.get_queryset())

       page = self.paginate_queryset(queryset)
       if page is not None:
           serializer = self.get_serializer(page, many=True)
           return self.get_paginated_response(serializer.data)

       serializer = self.get_serializer(queryset, many=True)
       return Response(serializer.data)
он же оверрайдится
источник

S

Spirit💎 in Django [ru] #STAY HOME
ну типа вот так
источник

S

Spirit💎 in Django [ru] #STAY HOME
пока сложные для меня преколы
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
я не понял твой вопрос) ты написал, что до get_queryset() не доходит, но он у тебя там первой строчкой стоит
источник