python - lookup_field 在 Django get_queryset 中返回 None

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

我有一个用 GenericAPIView 扩展的类,

我可以在我的函数中访问查找字段,但我不能在查询集函数中使用它。

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')

关于python - lookup_field 在 Django get_queryset 中返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64951713/

相关文章:

python - Nginx 或 Django 正在删除上传文件的权限

python - Django 序列化器 : validate function not called

mongodb - EmbeddedDocumentSerializer 为每个 ReferenceField 运行查询

Python - 打印中间有字符串的列表列表

django - Docker compose 不会等待 Postgres 启动

Django Rest Framework 2.4 类型错误 : __init__() got an unexpected keyword argument 'allow_none'

python - DRF 路由器与命名空间的问题

python - 在 PyParsing 中,如何定义一个 setParseAction 函数来将字符串列表转换为整数列表?

python - 为每个异步函数调用创建一个新的记录器,好主意与否?

python - 分布式Python服务器的高效布局?