Django Forms - 建议在clean方法中更改用户提交的数据

时间:2017-09-20 18:27:26

标签: django-forms

我的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方法中进行分配的一个可能优势是,有时数据验证可能依赖于some_field

1 个答案:

答案 0 :(得分:0)

您是否考虑过将其放入.save?