我有一个名为project的django模型,它有自己的递归外键。
class Project(models.Model):
project_root_parent = models.ForeignKey('self',on_delete=models.CASCADE, related_name='root_parent',null=True)
project_parent = models.ForeignKey('self', on_delete=models.CASCADE, related_name = 'parent',null=True)
这是我想要的功能:
-
如果项目没有父项目,则字段设置为
已创建对象主键。
-
如果项目没有根父项目,则字段设置为
创建的对象主键。
理想情况下,我希望将字段的默认值设置为主键。
如果这不可能,那么我需要能够在生成主键并在Django中实例化模型之后更新该值。
我看过重写save方法或使用
post_save
但我不确定这些方法是否正确。