我找不到任何关于如何指定关系的正确文档使用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'))
查看声明文档的"配置关系"部分。没有"OneToMany"那么高的级别,但比完全指定关系要好。
class Address(Base):
__tablename__ = 'addresses'
id = Column(Integer, primary_key=True)
email = Column(String(50))
user_id = Column(Integer, ForeignKey('users.id'))