1
私のプロジェクトでは、フォーム上で外部キー選択オプションをフィルタリングする必要があります。私がしなければならないすべてはあるビューでビューで渡されたオブジェクトIDに基づいてフォーム上の外部キーを選択するオプション
class ResultadoForm(forms.ModelForm):
frequencia = forms.CharField(max_length=50)
tolerancia = forms.CharField(max_length=255)
def __init__(self, equipamento_id, *args, **kwargs):
equipamento_id = kwargs.pop('equipamento_id')
super (ResultadoForm, self).__init__(*args, **kwargs)
self.fields['teste'].queryset = Teste.objects.filter(equipamento=equipamento_id)
class Meta:
model = Resultado
exclude = ['actividade']
:
form1 = ResultadoForm(equipamento_id)
問題は、私が合格することができませんで、私はそうのような形の__init__
メソッドにパラメータを渡すと、それを行うことができますパラメータequipamento_idをinlineformset_factoryに設定します。
form1 = inlineformset_factory(Actividade, Resultado, form=ResultadoForm(equipamento_id), exclude=('actividade',), extra=len(testes_list))
これはエラーを発生させます。外部キーオプションをフィルタリングできるようにするには、どのようにしてequipamento_idパラメータをinlineformset_factoryに渡すことができますか?あなたがDjangoの1.9を使用している場合
ありがとうございました。それは魅力のように働いた。私は__init__メソッドから最初の引数equipamento_idも削除しなければなりませんでした。もう一度、ありがとう。 – user2466766