或者您可以這樣做嗎?使用模型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