我正在使用Django-filter应用程序在我的网站上构建搜索。这是代码:
class PropertyFilter(django_filters.FilterSet):
city = django_filters.ModelMultipleChoiceFilter(queryset=City.objects.all(), widget = CheckboxSelectMultiple)
trade_type = django_filters.ModelMultipleChoiceFilter(queryset=Trade.objects.all(), widget = CheckboxSelectMultiple)
class Meta:
model = Property
fields = ['city', 'trade_type']
问题是,当用户标记两个城市时,Django filter只通过最后一个URL参数过滤对象(这个casse中的第2个城市):
http://example.org/lt/list/city=1&city=2
Models.py
:
class City(models.Model):
name = models.CharField(max_length=250, verbose_name=_('Name'))
也许我做错了什么?
您可以创建多个版本的查询字符串,并接受列表作为筛选参数:
http://example.org/lt/list/?cities=1,2
检查此答案以正确筛选值列表:
你可以让它与你尝试的网址相同。以我为例。您必须通过要筛选的选项。
我正在调用的URL:
过滤器.py
希望这能有所帮助。我从official docs中得到灵感。
相关问题 更多 >
编程相关推荐