我如何使用Django-filter从模型中搜索多个字段,比如:
class Location(models.Model):
loc = models.CharField(max_length=100, blank=True)
loc_mansioned = models.CharField(max_length=100, blank=True)
loc_country = models.CharField(max_length=100, blank=True)
loc_modern = models.CharField(max_length=100, blank=True)
我需要在我的网站上的一个输入字段,可以搜索位置模型的所有字段
4条答案
按热度按时间niwlg2el1#
您可以创建一个自定义过滤器,并执行如下操作:
这将按这些字段中的任何一个进行过滤。您可以用任何您想要的替换
icontains
。9jyewag02#
这是完美的。我正在尝试做一个动态过滤器,如果选中一个开关,在搜索中获得多一个字段。类似这样:
但我不知道如何将开关与类关联起来
nnvyjq4y3#
由于您已经将Location定义为一个对象,因此要按多个字段进行过滤,只需使用
filter
方法。但是您需要实现一种更好的方法来使用这个过滤器,这样只有满足所有条件的结果才会显示出来。
bvjveswy4#
另一个解决方案,因为另一个不直接工作: