我按顺序有两个课程:
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.如何解决这个问题?
答案 0 :(得分:9)
至少SQLAlchemy允许您使用字符串而不是类。尝试django-orm也允许这样做。
a = models.ManyToManyField('A')
# ...
b = models.ManyToManyField('B')
更新:根据Django/Python Circular model reference,这正是要走的路。