2

ModelForm で作成されたモデルとフォームがあります。カスタム検証を使用しており、現在編集中のレコードの ID にアクセスする必要があります。カスタム非表示フィールドを何らかの方法で挿入して変数をフォームに転送する方法はありますか?

4

1 に答える 1

3

隠しフィールドは必要ありません。ビューからフォームに変数を転送できます。

意見:

def some_view(request):
    if request.method == 'POST':
        some_id = 1

        form = SomeForm(data=request.POST, some_id=some_id)

形:

class SomeForm(ModelForm):
    def __init__(self, *args, **kwargs):
        if 'some_id' in kwargs:
            self.some_id = kwargs.pop('some_id')

        super(SomeForm, self).__init__(*args, **kwargs)
于 2012-07-21T14:40:52.923 に答える