或者您可以这样做吗?使用模型ID作为另一个字段的默认值
这不一定是最终结果模型(因为它有点不合逻辑),但是在创建这个模型时,我想要做的是将一个人的两个父母的默认值作为该人本身,所以使用它自己的ID作为父参考。
此时,ID的AutoField没有问题。除非我需要改变它以促进我期待的目标。
可以理解的,我会得到“自我”的错误迁移下方,但它有助于形容我的例子:
class Person(models.Model):
dtob = models.DateTimeField(blank=False, verbose_name="Date of birth", default=datetime.now)
dtod = models.DateTimeField(blank=False, verbose_name="Date of death", default=datetime.now)
creationdate = models.DateTimeField(blank=False, verbose_name="Creation date", default=datetime.now)
BLOOD_TYPE_CHOICES=(
('O+', 'O Positive'),
('O-', 'O Negative'),
('A+', 'A Positive'),
('A-', 'A Negative'),
('B+', 'B Positive'),
('B-', 'B Negative'),
('AB+', 'AB Positive'),
('AB-', 'AB Negative'),
)
bloodtype = models.CharField(blank=False, verbose_name="Blood type", max_length=3, choices=BLOOD_TYPE_CHOICES, default='O+')
parentA = models.IntegerField(blank=False, verbose_name="Parent A", default=self.id)
parentB = models.IntegerFiled(blank=False, verbose_name="Parent B", default=self.id)
所有帮助和意见赞赏。
您可以覆盖save()来完成该操作。一旦保存,您可以使用self.id更新父母ID并再次保存。 – Sayok88