Python 从请求中获取值,django
我正试图从Python 从请求中获取值,django,python,django,request,django-filter,Python,Django,Request,Django Filter,我正试图从请求中获取一个值,真的很惊讶出现了一个错误 def product_view(request): lookup_type_user = request.GET.get('lookup_type', '') LOOKUP_TYPE_CHOICES = ( ('gt', '>'), ('lt', '<'), ) class ProductFilter(
请求中获取一个值,真的很惊讶出现了一个错误
def product_view(request):
lookup_type_user = request.GET.get('lookup_type', '')
LOOKUP_TYPE_CHOICES = (
('gt', '>'),
('lt', '<'),
)
class ProductFilter(django_filters.FilterSet):
lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES)
price = django_filters.NumberFilter(lookup_type=lookup_type_user)
我没有发布错误消息,因为这是一个与软件包相关的错误消息,而且因为我手动提供的lookup\u type
上面的行没有引发任何问题,我想这与软件包无关,只是上面的代码
你能看到这里出了什么问题吗
@编辑
是否有办法打印出请求
,查看其确切内容 我让它工作了。是我的无知。我不得不在forms.py
中重新定义lookup\u type
。像这样:
lookup_type = forms.ChoiceField(choices=LOOKUP_TYPE_CHOICES)
而不是:
lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES)
因为django filter在做什么,所以它试图过滤lookup\u type
字段,这在我的模型中是不存在的。它在/处抛出了一个错误FieldError。无法将关键字“lookup_type”解析为字段
,我不知道这一点,因为我正在使用的另一个应用程序-django_tables2将此错误修改为其他错误,成功地欺骗了我
现在这可能是一个无用的线程,但我只想让试图解决这个问题的人知道。这段代码在哪里?大概不是所有的东西都在一个地方。或者您真的在视图函数中定义了ProductFilter吗?lookup\u type\u user
在导入此文件时会计算一次。我假设您收到一个类似“请求不存在”之类的错误?URL是什么?'>'
是否正确传递?丹尼尔,它位于视图.py
中。我不知道如何使用此包django过滤器来提供我正在获取的请求值,因此我计算出了将所有代码放入视图中。URL可能很好:&lookup\u type=gte&
;我得到一个错误,比如数据必须是QuerySet-like(have count and order_by)或支持列表(data)
它是django_表2特定的。
lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES)