У меня есть один класс (DeckDeviceUtil
) с абстрактной функцией (get_active_deckdevices
), который должен наследоваться 2 классами (Deck и Device). Структура выглядит следующим образом:
A.py
from models import Deck
class DeckDeviceUtil:
@property
@abstractmethod
def deckdevice(self):
pass
def get_active_deckdevices(self):
#somecode
class Device(models.Model, DeckDeviceUtil):
#somecode
class DeckDevice(models.Model):
#uses Deck
B.py
from backend.devices.models import DeckDeviceUtil
class Deck(models.Model, DeckDeviceUtil):
#somecode
Я получаю следующую ошибку:
from backend.house.models import Deck
ImportError: cannot import name 'Deck'
вероятно, потому что 2 python файлы / классы нужны друг другу. Когда я пытаюсь выполнить импорт внутри классов, появляются другие ошибки
при импорте DeckDeviceUtil внутри палубы:
class Deck(models.Model, DeckDeviceUtil):
NameError: name 'DeckDeviceUtil' is not defined
при импорте колоды внутри устройства:
from backend.house.models import Deck
ImportError: cannot import name 'Deck'
Важно: Устройство должно импортировать колоду
Какой лучший способ решить эту проблему?