Импорт Python из пакетов перекрестных ссылок - PullRequest
0 голосов
/ 02 мая 2009

В настоящее время я пытаюсь написать свою первую библиотеку Python и столкнулся со следующей проблемой:

В моем пакете myapp.factories есть следующий импорт:

from myapp.models import *

И следующее в моем пакете myapp.models:

from myapp.factories import *

Мне нужны модели в моем пакете фабрик, но внутри одной модели мне также нужен один из фабрик. Если я сейчас вызываю код, который требует фабрики, я получаю следующую ошибку:

NameError: global name 'MyModelFactory' is not defined

Я почти уверен, что это как-то связано с порядком загрузки скриптов, но я не могу понять, как заставить работать эти перекрестные ссылки.

1 Ответ

5 голосов
/ 02 мая 2009

«внутри одной модели мне также нужен один из заводов» - просто импортируйте тот завод, где он вам нужен:

class SomeModel:
    def some_method(self):
        from myapp.factories import SomeFactory
        SomeFactory().do_something()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...