按照 djangoproject 的教程,我创建了一个包含 2 个投票的投票。
In [14]: Poll.objects.all()
Out[14]: [<Poll: poll1>, <Poll: poll2>]
当我应用过滤器时
In [18]: Poll.objects.filter(choice__choice_text__isnull=False)
即使只有 2 个民意调查,也会返回以下内容。
Out[18]: [<Poll: poll1>, <Poll: poll1>, <Poll: poll1>, <Poll: poll2>, <Poll: poll2>, <Poll: poll2>]
为什么同一个民意调查会多次出现?过滤器的目标是过滤掉没有任何选择的民意调查。此外,像下面这样的其他过滤器也可以工作。
In [19]: Poll.objects.filter(pub_date__lte=timezone.now)
Out[19]: [<Poll: poll1>, <Poll: poll2>]