【发布时间】:2018-09-03 10:44:46
【问题描述】:
我在使用 Django 的 ModelChoiceField 时遇到了一些困难。
我写了以下代码:
class BookForm(ModelForm):
publisher = forms.ModelChoiceField(queryset=Publisher.objects.all())
...
现在 Book 和 Publisher 是这样关联的:Book → Library → SubPublisher → Publisher。所有关系都是使用 ForeignKey 建立的。
我的表格是这样的:
- 发布者(ModelChoiceField)
- SubPublisher(带有自动完成小部件的 ModelChoiceField,可根据 Publisher 选择进行过滤)
- 库(与 SubPublisher 相同,根据 SubPublisher 过滤)
我的问题是我无法让 ModelChoiceField 从发布者列表中选择相关发布者。
注意:Publisher 和 SubPublisher 仅用于过滤库 - 它有效,问题仅在于根据所选库的 ForeignKeys 设置初始值。
我错过了什么?
【问题讨论】:
-
添加 -- publisher = forms.ModelChoiceField(queryset=Publisher.objects.all(), initial='1')
-
thx 但这会让我得到 pk=1 的项目,这不是我的意图。我想选择属于所选子发布者的发布者
标签: django python-3.x django-forms modelchoicefield