【问题标题】:lookup_field Return None In Django get_queryset在 Django get_queryset 中,lookup_field 返回无
【发布时间】:2021-03-05 04:22:24
【问题描述】:

我有一个使用 GenericAPIView 扩展的类,

我可以在我的函数中访问lookup_field,但我不能在queryset函数中使用它。

class SellerItemAPIView(GenericAPIView, ListModelMixin):
    serializer_class = ShopItemSerializer
    permission_classes = [AllowAny]
    lookup_field = 'phone_number'

    def get_queryset(self):
        print(self.lookup_url_kwarg) # It Return None
        print(self.lookup_field) # It Return 'phone_number'
        shop_items = ShopItem.objects.filter(Q(seller_id__user_id__phone_number=self.lookup_field))
        return shop_items


    def get(self, request, phone_number):
        result = self.list(request, phone_number)
        print(result.status_code)
        return result

如何访问 get_queryset 中的lookup_field?

【问题讨论】:

  • 请添加您的模型。

标签: python django django-rest-framework django-generic-views


【解决方案1】:

我找到了答案:

从类中删除这一行:

lookup_field = 'phone_number'

获取get_queryset中的lookup_field,像这样:

phone_number    = self.kwargs.get('phone_number')

【讨论】:

    猜你喜欢
    • 2020-09-09
    • 2018-12-27
    • 1970-01-01
    • 2022-12-23
    • 2019-07-16
    • 2020-11-18
    • 1970-01-01
    • 2020-10-11
    • 2020-10-07
    相关资源
    最近更新 更多