簡體   English   中英

Python中的前向類聲明

[英]Forward class declaration in Python

我按順序有兩個班:

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.如何解決這個問題?

至少SQLAlchemy允許您使用字符串而不是類。 嘗試django-orm也允許這樣做。

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

更新:根據Django / Python循環模型參考 ,這正是要走的路。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM