繁体   English   中英

如何使用SQLAlchemy声明性语法指定关系?

[英]How to specify relations using SQLAlchemy declarative syntax?

我找不到任何关于如何使用SQLAlchemy的声明性语法指定关系的正确文档。它是否不受支持? 也就是说,我应该使用“传统”语法吗?
我正在寻找一种方法来指定更高级别的关系,避免弄乱外键等等。我想声明“addresses = OneToMany(Address)”并让框架处理细节..我知道Elixir可以做到这一点,但我想知道“普通”SQLA是否也能做到这一点。
谢谢你的帮助!

假设您指的是声明性插件 ,我要说的所有内容都带有示例:

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'))

查看Declarative docs的“配置关系”部分。 不像“OneToMany”那么高,但比完全指定关系更好。

class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    email = Column(String(50))
    user_id = Column(Integer, ForeignKey('users.id'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM