peewee: импорт модели в другую модель выдает TypeError: issubclass() arg 1 должен быть классом

В основном у меня есть такие модели:

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

моя модель А содержит:

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

что странно для меня, потому что, очевидно, я импортирую только файл как модуль, поэтому я попробовал это:

моя новая модель А содержит:

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 ответов

Другие вопросы по тегам