인라인 formset을 사용하고 있으며 formset이 인스턴스화 될 때 비 상위 모델의 양식 필드 중 하나의 쿼리 세트를 변경해야합니다.부모가 아닌 모델의 인라인 집합에있는 모델 필드의 쿼리 세트를 변경하십시오.
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는의 값에 따라, 나는 해당 formset에서 모든 형태의 BarForm의 'other_model'필드의 검색어를 변경해야합니다. 이것을 할 수있는 방법이 있습니까?
그것은 queryset의 문제를 해결하는 것으로 보입니다. 그러나 변경되지 않은 경우에도 여분의 양식에 대한 유효성 검사 오류가 발생합니다. 나는 형식화가 이것을하지 않을 것이라는 인상 아래에있었습니다. django 문서에서 "formset은 변경되지 않은 여분의 양식을 무시할 정도로 똑똑합니다." – bgrantdev
당신 말이 맞아요. 양식이 실제로 비어 있으면 오류가 발생하지 않아야합니다. 양식에 기본값이 없거나 어떤 것이 있습니까? – jproffitt