繁体   English   中英

lookup_field 在 Django get_queryset 中返回 None

[英]lookup_field Return None In Django get_queryset

我有一个用 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 ?

我找到了答案:

从类中删除此行:

lookup_field = 'phone_number'

在 get_queryset 中获取 lookup_field,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM