如何正确建模递归关系,如下图所示?
class A(models.Model):
previous_A = models.OneToOneField(A)
答案 0 :(得分:3)
使用Django,您可以按如下方式建模父子关系:
class Person(models.Model):
name = models.CharField(max_length=128)
parent = models.ForeignKey('self', null=True, related_name='children')
引用ForeignKey
docs:
创建递归关系 - 具有多对一的对象 与自身的关系 - 使用
models.ForeignKey('self')
。
P.S。通过“反身关系”,我假设你指的是一个递归关联,它将单个类型(在一个角色中服务)与自身(在另一个角色中服务)联系起来;即亲子关系。