我的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
。
答案 0 :(得分:0)
您是否考虑过将其放入.save?