Python 在外键上设置筛选器查询
这对所有人来说可能并不新鲜,需要你的专家指导。我试图过滤django-table2上的一列。注意我没有在这里使用django过滤器Python 在外键上设置筛选器查询,python,django,Python,Django,这对所有人来说可能并不新鲜,需要你的专家指导。我试图过滤django-table2上的一列。注意我没有在这里使用django过滤器 class Group(models.Model): title = models.CharField(blank=True) class Control(models.Model): published = models.charField(auto_now=False) group = models.ForeignKey(Group, on
class Group(models.Model):
title = models.CharField(blank=True)
class Control(models.Model):
published = models.charField(auto_now=False)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
现在,我尝试在views.py中进行筛选,如下所示
table = ControlTable(Control.objects.all().order_by('-published').filter(
group__in=form['contact'].value(),
)
问题是这工作正常,但当从下拉列表中选择“----”时,它将显示空白表,而不是所有值。
同样,如果我更改查询筛选器,如下所示
table = ControlTable(Control.objects.all().order_by('-published').filter(
Group__title__iexact=form['contact'].value(),
)
然后抛出错误无法将关键字“Group”解析到字段中。
你能告诉我这一点吗?这很有意义,如果你选择
---
,它就会使用无
,所以你要过滤无
。你应该检查一下:
items = ControlTable(Control.objects.all().order_by('-published')
group = form['contact'].value()
if group:
items = items.filter(
group__in=group
)
table = items
items=ControlTable(Control.objects.all().order_by('-published'))
组=形式['contact'].value()
如果组:
items=items.filter(
组\uuu in=组
)
表=项目