基本上我的模型就像这样的结构:
\models
\\__init__.py
\\helpers.py
\\modelA.py
\\modelB.py
我的模型A包含:
from helpers import BaseModel
import modelB
class modelA(BaseModel):
#something...
def get_all_modelB(self):
return modelB.select().where(modelB.id == self.id)
我的模型B包含:
from helpers import BaseModel
import modelA
from peewee import ForeingKeyField
class modelB(BaseModel):
#something
modelA_id = ForeingKeyField(modelA, related_name='something')
然后当我尝试使用它时显示
File "C:\Python27\lib\site-packages\peewee.py", line 1246, in __init__
issubclass(rel_model, Model):
TypeError: issubclass() arg 1 must be a class
这对我来说很奇怪,因为显然我只是将文件作为模块导入,所以我尝试了这个:
我的新模型A包含:
from helpers import BaseModel
from modelB import modelB
class modelA(BaseModel):
#something...
def get_all_modelB(self):
return modelB.select().where(modelB.id == self.id)
我的新模型B包含:
from helpers import BaseModel
from modelA import modelA
from peewee import ForeingKeyField
class modelB(BaseModel):
#something
modelA_id = ForeingKeyField(modelA, related_name='something')
File "C:\some\random\path\modelB.py", some line, in <module>
from modelA import modelA
ImportError: cannot import name modelA
我在做错了什么?是否有另一种方式以更简单的方式或以正确的方式做到这一点?
感谢