2017-09-20 9 views
0

でデータを送信したユーザーを変更することをお勧めします:、ジャンゴフォーム - それは私が私のDjangoプロジェクトに次のコードを持っているきれいな方法

def my_view(request): 
    form = MyForm(request.POST): 
    if form.is_valid(): 
     instance = form.save(commit = False) 
     instance.some_field = 'foo' 
     form.save() 
    #... 

問題がある、それはこのに次のように書き換えることをお勧めします。

forms.py

class MyForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     # ... 

    def clean(self): 
     form.some_field = 'foo' 

clean方法は、データの検証のために排他的に使用する必要がある場合、私は、不思議、または私はまた、このように、ここでいくつかのビジネス・ロジックのものを行うことができ私の見解をより簡潔にし、ビジネスロジックの詳細を欠いています。

cleanメソッドで代入を行う利点の1つは、データの妥当性チェックがsome_fieldに依存することがあります。

答えて

0

あなたはそれを.saveに入れることを考えましたか?

関連する問題