【发布时间】:2020-02-22 03:56:57
【问题描述】:
查找表并将其最后一个值用作新模型实例中的值的正确方法是什么?像这样的:
class MyClass(models.Model):
id = models.AutoField(primary_key=True)
obj = MyClass.objects.latest('id')
my_field = models.IntegerField(default=(obj+1))
我需要一个 db 列,它跟踪 primary_key,但独立于它,也可以修改。在创建模型的新实例时,我还需要将其值用作默认值。
【问题讨论】:
-
你为什么要这样做?
id不是已经这样做了吗? -
当你说“一个新的模型类”时,你的意思是同一个模型的一个新实例吗?如果您尝试自动增加 id,正如 Roseman 所说,您不必自己实现它。
-
因为不能直接使用id,所以像default=id这样的东西是行不通的
-
您不能像您在问题中提到的那样简单地将
1添加到模型实例obj。您能否更具体地说明您想要完成的工作?