5

我有两个课程:

class A(models):
    ...

class B(models):
    a = models.ManyToManyField(A)

现在我必须将我的模型更改为以下模型:

class A(models):
    b = models.ManyToManyField(B)

class B(models):
    ...

我必须使用南迁移。我想在 A 类中创建新的多对多字段,迁移数据并从 B 类中删除字段。问题是两者都在同一个模型中。因此,当我将多对多放入 A 类时,它是看不到的。因为B声明在A下面。如何解决这个问题?

4

1 回答 1

9

至少 SQLAlchemy 允许您使用字符串而不是类。试试 django-orm 是否也允许这样做。

a = models.ManyToManyField('A')
# ...
b = models.ManyToManyField('B')

更新:根据Django/Python 循环模型参考,这正是要走的路。

于 2011-03-15T08:14:20.440 回答