我不能像往常一样得到最后一个插入ID,我不知道为什么.
在我看来:
comment = Comments( ...)
comment.save()
comment.id #returns None
Run Code Online (Sandbox Code Playgroud)
在我的模型中:
class Comments(models.Model):
id = models.IntegerField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这个问题?通常在我调用save()方法之后,我可以通过comment.id访问id,但这次它不起作用.
你在线上设置id
字段的值comment = Comments( ...)
吗?如果没有,为什么要定义字段而不是让Django使用AutoField来处理主键?
如果你在IntegerField中指定为主键,就像你在示例中所做的那样,Django不会自动为它赋值.
小智 5
简单地做
c = Comment.object.latest()
Run Code Online (Sandbox Code Playgroud)
那应该返回你最后插入的评论
c.pk
12 #last comment saved.
Run Code Online (Sandbox Code Playgroud)