我找不到任何关于如何指定关系的正确文档 使用SQLAlchemy的声明性语法..是否不受支持?也就是说,我应该使用“传统”语法吗? 我正在寻找一种方法来指定更高级别的关系,避免弄乱外键等等。我想声明“addresses = OneToMany(Address)”并让框架处理细节..我知道Elixir可以做到这一点,但我想知道“普通”SQLA是否也可以做到这一点 谢谢你的帮助!
答案 0 :(得分:3)
假设您指的是the declarative plugin,我将要说明的所有内容都带有示例:
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'))
答案 1 :(得分:0)
查看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'))