1

追加フィールドを追加して、モデルの管理フォームをオーバーロードしました

class MyModelAdminForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput(), required=False)

    class Meta:
        model = MyModel

モデルにパスワード フィールドが存在しないため、自動的に保存したくありません。pre_save メソッドでこのフォーム フィールドの値を取得したい:

@receiver(pre_save, sender=Member)
def my_pre_save_method(sender, **kwargs):
    ...

実際、私はそれを取得する方法を見つけていません。

これは可能ですか?そしてどうやって ?

ありがとう

4

2 に答える 2

0

pre_saveモデルから呼び出されsave、フォームレベルで機能します。フィールドpasswordはモデル フィールドではないため、モデルのインスタンスでは使用できないため、 でアクセスすることはできませんpre_save

したがって、 を使用してビュー内にあるもののみを取得し、必要cleaned_dataな方法で使用することができます。

于 2013-04-24T03:09:21.547 に答える