peewee:将模型导入另一个模型抛出TypeError:issubclass()arg 1必须是一个类

时间:2016-01-28 22:12:57

标签: python peewee

基本上我的模型就像这样的结构:

\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
我在做错了什么?是否有另一种方式以更简单的方式或以正确的方式做到这一点?

感谢

0 个答案:

没有答案