我试图以特定形式限制'人'字段的可选值。
我有一个TaskPerson模型,它有两个外键:一个用于'task',一个用于'person'。
在我的表格中,人员字段应该允许用户选择一个或多个人,但只允许那些匹配某个任务的人。
我试过这个:
persons = [tp.person for tp in TaskPerson.objects.filter(task=thistask)]
form.fields["persons"].queryset = persons
这个列表理解给了我正确的人物对象,但是我的表格根本没有显示,大概是因为它只给了我一个标准的python列表。
我查看了文档,但我不太清楚如何进步。有人可以建议我如何正确显示我的表格吗?
非常感谢
答案 0 :(得分:2)
您可以按照与QuerySet
相反的关系轻松获取Person
个TaskPerson
个对象
http://docs.djangoproject.com/en/dev/topics/db/queries/#following-relationships-backward
form.fields['field'].queryset = Person.objects.filter(taskperson__task=thistask)