混淆了ModelForm()子的save()中的self.instance

save()文档解释了:   ModelForm的子类可以接受   现有模型实例作为关键字   论证实例;如果是这样的话   提供,save()将更新   实例。如果没有提供,请保存()   将创建一个新的实例   指定的模型 但是,
save()
中的
self.instance
总是有一个对象。 那么,我如何判断
instance
是否存在或是否是新创建的?     
已邀请:
您可以检查ѭ​​3ѭ以查看模型是否先前已保存。但是,在您创建模型的新实例然后在保存之前使用该实例初始化模型表的情况下,这可能是不可靠的。 基于Django 1.2中的BaseModelForm源代码的另一种可能性是检查
self.instance._adding
,如果模型已创建则为True,否则为False。但是,我没有测试过这个,所以YMMV。 如果第一个选项可行,我建议使用它而不是ModelForms的未记录功能 - 它在将来不太可能改变,可能更清晰。     

要回复问题请先登录注册