Как указать отношения, используя декларативный синтаксис SQLAlchemy? - PullRequest
3 голосов
/ 30 октября 2008

Я не могу найти надлежащую документацию о том, как определить отношения используя декларативный синтаксис SQLAlchemy .. Это не поддерживается? То есть я должен использовать «традиционный» синтаксис?
Я ищу способ указать отношения на более высоком уровне, избегая необходимости связываться с внешними ключами и т. Д. Я хотел бы просто объявить "address = OneToMany (Address)" и позволить инфраструктуре обрабатывать детали. что Эликсир может сделать это, но мне было интересно, может ли «простой» SQLA сделать это тоже.
Спасибо за вашу помощь!

Ответы [ 2 ]

3 голосов
/ 30 октября 2008

Предполагается, что вы имеете в виду декларативный плагин , где все, что я собираюсь сказать, задокументировано с примерами:

class User(Base):
    __tablename__ = 'users'

    id = Column('id', Integer, primary_key=True)
    addresses = relation("Address", backref="user")

class Address(Base):
    __tablename__ = 'addresses'

    id = Column('id', Integer, primary_key=True)
    user_id = Column('user_id', Integer, ForeignKey('users.id'))
0 голосов
/ 08 июля 2009

Посмотрите на раздел «Настройка отношений» в Декларативной документации . Не такой высокий уровень, как «OneToMany», но лучше, чем полное определение отношения.

class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    email = Column(String(50))
    user_id = Column(Integer, ForeignKey('users.id'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...