Muh*_*hir 3 django django-forms
我正在做什么来知道表单是否正在创建新记录或更新现有记录是
class MyForm(forms.ModelForm):
def save(self, commit=True):
_new = True if not self.instance.id else False
keyword = super(MyForm, self).save()
if _new:
do_something()
return keyword
Run Code Online (Sandbox Code Playgroud)
在调用 super(MyForm, self).save() 后,是否有其他方法可以找到它,而无需在调用“super”之前明确检查它,就像我对“_new”所做的那样?
这只是.id (实际上.pk)字段。如果它是None(可能是任何“假”值),那么它是一个新记录.save()并将使用INSERT. 否则它是现有记录的关键,它将使用UPDATE.
https://docs.djangoproject.com/en/1.8/ref/models/instances/#how-django-knows-to-update-vs-insert
| 归档时间: |
|
| 查看次数: |
1683 次 |
| 最近记录: |