Структура файлов Sqlalchemy

У кого-либо есть понимание при организации 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, но позы пересекают проблемы импорта при создании отношений.. Возможно, я пропускаю что-то :)

5
задан Sebastian Vantreri 4 March 2010 в 07:36
поделиться

2 ответа

В проекте SQLAlchemy есть две функции, позволяющие избежать перекрестного импорта при определении отношений:

  1. backref аргумент Relations () позволяет вам определять обратное отношение.
  2. Использование строк (классы модели и имена их полей). К сожалению, это работает только декларативно, что не в вашем случае.

См. эту главу в учебном пособии для получения дополнительной информации.

1
ответ дан 15 December 2019 в 00:58
поделиться

Взгляните на проект Pylons, включая настройку SA.

meta.py включает движок и объекты метаданных.

пакет моделей включает деклерующие классы (преобразователь не требуется). Внутри этого пакета структурируйте свои классы по модулям.

Хорошим примером может служить исходный код Reddit :)

3
ответ дан 15 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: