Django Наследование дает ошибки импорта - PullRequest
1 голос
/ 18 марта 2020

У меня есть один класс (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'

Важно: Устройство должно импортировать колоду

Какой лучший способ решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...