Python 如何保存在django中引用自身的模型实例?
我有以下代码:Python 如何保存在django中引用自身的模型实例?,python,django,model,Python,Django,Model,我有以下代码: from django.db import models class MyModel(models.Model): parent = models.ForeignKey('self', on_delete=models.CASCADE, related_name='parent') 在某些情况下,我希望模型实例是它自己的父实例。这可以通过保存新实例然后分配父字段来完成,但我需要在保存之前完成,因为有些代码依赖于post_save信号,并且需要模型的父信息。据我所知,
from django.db import models
class MyModel(models.Model):
parent = models.ForeignKey('self', on_delete=models.CASCADE, related_name='parent')
在某些情况下,我希望模型实例是它自己的父实例。这可以通过保存新实例然后分配父字段来完成,但我需要在保存之前完成,因为有些代码依赖于post_save信号,并且需要模型的父信息。据我所知,您不能这样做,也许您可以将字段设置为
null=True
,并使用None
,以便post_save
模型知道这一点。我还认为,即使有可能,post_save
也不会看到父对象的id,因为它只会检索主键并将其设置为“in mempory”对象。这是否回答了您的问题@PouyaEsmaeili:但这部分是固定的,在模型/类级别,它确实引用了模型。问题是,如何在对象级别以及构建之后立即引用它。据我所知,您不能这样做,也许您可以将字段null=True
,并使用None
,以便post\u save
模型知道这一点。我还认为,即使有可能,post_save
也不会看到父对象的id,因为它只会检索主键并将其设置为“in mempory”对象。这是否回答了您的问题@PouyaEsmaeili:但这部分是固定的,在模型/类级别,它确实引用了模型。问题是,如何在对象级别以及构建之后立即引用它。