Django模型对象初始化

use*_*881 3 python django

如果我做

obj = Object()
obj.att1 = 'test'
obj.att2 = 'test'
obj.save()
Run Code Online (Sandbox Code Playgroud)

obj.id - >工作正常

但如果我这样做

obj=Object(att1='test',att2='test').save()
Run Code Online (Sandbox Code Playgroud)

在这个阶段做obj.id - > obj似乎是Nonetype

是这样的吗?

Dav*_*nts 8

我不知道您使用的确切框架,但我会猜测问题:

Object(att1='test',att2='test').save()

save()函数似乎不返回Object实例,它返回None.所以你通常会:

obj=Object(att1='test',att2='test')
obj.save()
Run Code Online (Sandbox Code Playgroud)

然后检查obj.id.

  • 创建,保存和返回对象的Django单行程序是`Object.objects.create(att1 ='test',att2 ='test')`. (7认同)