Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在外键上设置筛选器查询_Python_Django - Fatal编程技术网

Python 在外键上设置筛选器查询

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

这对所有人来说可能并不新鲜,需要你的专家指导。我试图过滤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_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=组 ) 表=项目