我在使用 Django 的 ModelChoiceField 时遇到了一些困难。
我写了以下代码:
class BookForm(ModelForm):
publisher = forms.ModelChoiceField(queryset=Publisher.objects.all())
...
现在 Book 和 Publisher 是这样关联的:Book → Library → SubPublisher → Publisher。所有关系都是使用 ForeignKey 建立的。
我的表格是这样的:
- 发布者(模型选择字段)
- SubPublisher(具有自动完成小部件的 ModelChoiceField,可根据 Publisher 选择进行过滤)
- 库(与 SubPublisher 相同,根据 SubPublisher 过滤)
我的问题是我无法让 ModelChoiceField 从发布者列表中选择相关的发布者。
注意:Publisher 和 SubPublisher 仅用于过滤库 - 它有效,问题仅在于根据所选库的 ForeignKeys 设置初始值。
我错过了什么?