3
我想在我的ModelForm過濾ManyToManyField選擇:如何過濾Django ModelForm中的ManyToManyField選項?
class MyForm(forms.ModelForm):
class Meta:
model = Entity
fields = ['parent_entities']
def __init__(self, *args, **kwargs):
self.root_entity = kwargs.pop('root_entity')
self.Meta.fields['parent_entities'].queryset = Entity.objects.filter(root_entity=self.root_entity)
super(MyForm, self).__init__(*args, **kwargs)
我嘗試了很多不同的代碼,我已經看到了,但沒有尚未奏效。
我想我的問題是,我不能得到這個'parent_entities'字段。 有了這個代碼,我有錯誤:
list indices must be integers, not str
我已經嘗試過,之前,但我有這樣的錯誤消息: AttributeError的 「MyForm的」對象有沒有屬性「域」 – user1257144 2012-04-18 10:50:31
權,也許你應該在訪問MyForm.fields之前調用父__init__ – jpic 2012-04-18 11:19:53
如果我這樣做,我有以下錯誤(這是有道理的): TypeError __init __()得到一個意外的關鍵字參數'root_entity'。 (實際上我沒有看到你改變了你的初始答案中的行順序) – user1257144 2012-04-18 11:26:44