peewee:将模型导入另一个模型会引发类型错误:issubclass()arg 1必须是类

2024-05-20 08:35:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我的模型基本上是这样的:

\models
\\__init__.py
\\helpers.py
\\modelA.py
\\modelB.py

我的型号A包含:

^{pr2}$

我的型号B包含:

^{3}$

但当我试着用这个的时候

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

我做错什么了?有没有其他更简单的方法或者正确的方法?在

谢谢


Tags: frompyimportidinitlinesomethinghelpers