在django中使用modelfrom时,有条件地将其他信息保存到数据库

时间:2014-02-01 14:51:03

标签: python django

我有一个模型表格,除了表单上的字段外,我需要更新数据库中的另一列,具体取决于是否有注册用户提交信息。我读到你可以使用带有参数“commit = False”的save方法,它将创建数据库对象但不将其保存到数据库中,这样我就可以检查用户是否已登录,如果需要,还可以保存其他信息,然后打电话保存自己。这似乎是解决这个问题的合理方法吗?

1 个答案:

答案 0 :(得分:1)

是的,这是正确的做法。

if form.is_valid():
    object = form.save(commit=False)
    if request.user.is_authenticated():
        object.user = request.user
    object.save()