Python 在django筛选器中使用'method='1'从单个数字创建值范围
我正在尝试使用django过滤器在我的应用程序中创建一个值范围过滤器。在我的数据库中,是使用models.IntegerField创建的具有年龄的不可侵犯VIELD 我想现在添加如下复选框: 一切都差不多准备好了,但我不知道如何访问数据库。我阅读了关于“和如何使用”的文档,但我仍然不知道如何创建正确的条件。在我的stytuation中如何为“requirements=?”创建条件,该条件返回一个值,例如20-30之间的值 我们在文件中有一个观点:Python 在django筛选器中使用'method='1'从单个数字创建值范围,python,django,django-filter,Python,Django,Django Filter,我正在尝试使用django过滤器在我的应用程序中创建一个值范围过滤器。在我的数据库中,是使用models.IntegerField创建的具有年龄的不可侵犯VIELD 我想现在添加如下复选框: 一切都差不多准备好了,但我不知道如何访问数据库。我阅读了关于“和如何使用”的文档,但我仍然不知道如何创建正确的条件。在我的stytuation中如何为“requirements=?”创建条件,该条件返回一个值,例如20-30之间的值 我们在文件中有一个观点: f = F({'price_min': '5'
f = F({'price_min': '5', 'price_max': '15'}, queryset=qs)
什么是“f”?在这种情况下,到达数据库的条件在哪里
我的过滤器.py
您可以有一个助手函数,如下所示:
def get_age_range(option):
if option == 'age_option1':
return 0, 20
elif option == 'age_option2':
return 21, 30
...... and so on
然后在视图中调用此函数
lower, upper = get_age_range(selected option)
queryset.filter(max_price>lower).filter(max_price<higher)
我还没有测试过这个。正如你所说的,django过滤器可能能够以一种非常灵活的方式完成这项工作。但这是一种方法
lower, upper = get_age_range(selected option)
queryset.filter(max_price>lower).filter(max_price<higher)