1
我使用內聯formset,並且需要在實例化formset時更改其中一個非父模型的表單字段的queryset。在非父模型的inlineformset中更改模型字段的查詢集
class Foo(Model):
name = models.TextField()
class Bar(Model):
foo = models.ForiegnKey(Foo)
other_model = models.ForeignKey(OtherModel)
class BarForm(ModelForm):
class Meta:
model=Bar
foo = Foo.object.get(id=1)
FormSet = inlineformset_factory(Foo, Bar, form=BarForm)
formset = FormSet(instance=foo)
根據被判定直到我進入查看代碼foo的價值,我需要改變「other_model」字段的BarForm的查詢集所有形式的表單集。有沒有辦法做到這一點?
這似乎解決了查詢集的問題。然而,即使它沒有變化,我仍然在我的額外表格上發現驗證錯誤。我的印象是,formset不會這麼做。來自django文檔「該表單足夠聰明,可以忽略沒有改變的額外表單。」 – bgrantdev
你說得對。如果表單真的是空的,你不應該得到錯誤。您的表單上沒有任何默認值或您有什麼要求? – jproffitt