我有一个 django 项目,在其中一个页面中我有一个表单,我可以commit=False
在其中设置一个表单,form.save
以便为外键添加一个值。
当我这样做时,表单中的其余值不会保存。
基本上我收到两个错误,具体取决于我保存表单的方式。
第一个是当我使用save.(commit=False)
代码:
form = RecipeForm()
form = form.save(commit=False)
form.original_cookbook = request.user.cookbooks.all()[0]
form.save()
错误:
IntegrityError at /cookbook/createrecipe/
(1048, "Column 'ingredients' cannot be null")
Request Method: POST
但我知道我的成分字段不为空。
第二个错误是我不使用提交而是设置了一个初始值。
代码:
form = RecipeForm(initial = {'original_cookbook' : request.user.cookbooks.all()[0]})
form.save()
错误:
IntegrityError at /cookbook/createrecipe/
(1048, "Column 'original_cookbook_id' cannot be null")
Request Method: POST
知道为什么这些方法似乎都不起作用吗?只是为了让您知道我正在尝试通过 AJAX 提交表单...