SQLAlchemy中尚未定义的类的外键

时间:2015-03-23 07:43:39

标签: sqlalchemy abstract-class forward-declaration

我们正试图做这样的事情:范式是一个抽象的" (在Django术语中)base,只包含所有范例的公共字段。它必须有一个外键(确切地说,其中两个)到Person,但Person是一个范例,稍后声明(在一个单独的文件中,甚至)。这甚至可以使用声明式API吗?我知道如何构造一个具有外键的类,但问题是这依赖于一个类:Person必须有两个外键到本身,而另一个子类是declarative_base(cls = Paradigm)必须有两个不是自己的外键,而是Person。

1 个答案:

答案 0 :(得分:0)

是的,你可以。阅读ForeignKey文档:

  

关键关系的单个目标列。 Column对象或列名称为字符串

所以你可以将另一个表称为:

user_id = Column(Integer, ForeignKey('users.id'))

Object Relational Tutorial中也有很多例子。