我知道Django想要自动生成表单,所以你不必在你的模板中这样做,我知道很多人都觉得很酷。
但我有特定的要求,我必须自己编写表格。我只需要一些东西来解析数据,无论是使用用户界面提交的表单,还是API请求,或其他什么。
我尝试使用ModelForm,但似乎无法正常工作。
我想要有以下行为:
save()
之前执行数据验证,并且应该使用错误字段和错误列表抛出ValidationError
。目前,我更喜欢手动完成所有事情:
o = myapp.models.MyModel() # or o = myapp.Models.MyModel.objects.get(pk = data['pk'])
o.field1 = data['field1']
o.field2 = data['field2']
…
o.full_clean()
o.save()
有一条快捷方式会很好:
o = SuperCoolForm(myapp.models.MyModel, data)
o.save()
你知道Django是否为此提供了解决方案,还是我要求的太多了?
谢谢!