Django - 覆盖的表单 save() 方法返回 None?

标签 django django-forms

目前,我的模型表单正在覆盖 save() 方法,并且它工作正常。问题是当我调用 savedObject = form.save() 时,表单被保存但它返回 None?在覆盖 save() 之前,我会得到保存的对象,但是这种方法有什么问题?

以模型形式保存():

def save(self, *args, **kwargs):
       kwargs['commit']=False
       obj = super(MyForm, self).save(*args, **kwargs)
       obj.time = datetime.date.today()
       obj.expire = datetime.date.today()
       return obj.save()

POST 后调用我的 View :
savedObject = form.save()
#form is now saved, but savedObject is None

最佳答案

正确的方法:

def save(self, commit=True):
    obj = super(MyForm, self).save(commit=False)
    obj.time = datetime.date.today()
    obj.expire = datetime.date.today()
    if commit:
        obj.save()
    return obj

关于Django - 覆盖的表单 save() 方法返回 None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184000/

相关文章:

django - 在一个 html 表单中处理多个模型表单

Django Select 2 小部件不起作用,呈现字段但未应用样式

python - 参数 Django 中的斜杠

django 调试工具栏和 django 1.9 在查询检查中转义 html

python - django忽略表单集中更改的字段

python - 将多个模板变量传递给 django 中的模板标签

django - 模型 unique_together 约束 + None = 失败?

django - Atom 文本编辑器终端无法正常工作

django - 使用 create-react-app 自定义静态文件路径?

Django:如果用于查找,最好将 slug 保存到数据库或动态生成?