У кого-либо есть понимание при организации sqlalchemy базирующиеся проекты? У меня есть много таблиц и классов с внешними ключами и отношений. Что все делают с точки зрения разделения классов, таблиц и картопостроителей? Я относительно плохо знаком с платформой, таким образом, любая справка ценилась бы.
Пример:
classA.py # table definition and class A definition
classB.py # table definition and class B definition
### model.py
import classA,classB
map(classA.classA,clasSA.table)
map(classB.classB,clasSB.table)
Включая картопостроители внутри classA, и работы classB, но позы пересекают проблемы импорта при создании отношений.. Возможно, я пропускаю что-то :)
В проекте SQLAlchemy есть две функции, позволяющие избежать перекрестного импорта при определении отношений:
backref
аргумент Relations ()
позволяет вам определять обратное отношение. См. эту главу в учебном пособии для получения дополнительной информации.
Взгляните на проект Pylons, включая настройку SA.
meta.py включает движок и объекты метаданных.
пакет моделей включает деклерующие классы (преобразователь не требуется). Внутри этого пакета структурируйте свои классы по модулям.
Хорошим примером может служить исходный код Reddit :)