2014-09-29 1 views
0

Каково надлежащее колбу для реализации приложения со связанными чертежами?Связанные чертежи колб и круговых импортов

В настоящее время я работаю над проектом с несколькими модулями. У меня есть отдельное приложение в модулях логически, в зависимости от сущностей базы данных, и укажите эти модули в качестве чертежей. Но некоторые из этих чертежей имеют зависимости друг от друга: например, представление плана A использует внутренний метод (например, поиск в db, а не вид) из чертежа B, тогда как другой вид из B использует другой внутренний метод из A.

Конечно, это круговой импорт.

+0

NoOrder важно, чтобы не было круговой блокировки IMO – Nava

ответ

0

Лучший способ справиться с этим - отделить внутренние вызовы Blueprint от отдельного модуля. Попытайтесь сконцентрировать логику базы данных в одном модуле и при необходимости создавать только определенные вызовы.

Ваш макет проекта может выглядеть так:

+ App 
| 
|`--+ models 
| |`-- __init__.py 
| |`-- models.py 
| `-- utils.py 
| 
`--+ blueprints 
    |`-- __init__.py 
    |`-- blueprint_a.py 
    `-- blueprint_b.py 

, а затем в App/blueprints/__init__.py вы бы импортировать свои модели и свои модели хелперы. Изнутри blueprint_a.py вы импортируете нужный материал модели, а blueprint_b.py вы импортируете другую модель, в которой вы нуждаетесь.

Смежные вопросы