3

有没有办法在flask-admin中为同一模型有2个外键的模型添加过滤和搜索支持?下面是一个示例 sqlalchemy 模型 - 其中两个字段是同一用户模型的外键。

class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    to_user_id = db.Column(db.Integer, db.ForeignKey('user.id'), index=True, nullable=False)
    from_user_id = db.Column(db.Integer, db.ForeignKey('user.id'), index=True, nullable=False)    
    subject = db.Column(db.String(512), default="")
    content = db.Column(db.Text, default="")
    to_user = relationship("User", foreign_keys=[to_user_id])
    from_user = relationship("User", foreign_keys=[from_user_id])

如果我像普通字段一样将“to_user.id”添加到 column_filters,我会收到以下错误,因为 flask-admin 不知道要在哪些 fk 字段上加入 User 表。

InvalidRequestError:找不到要加入的 FROM 子句。尝试加入用户,但得到:无法确定“消息”和“用户”之间的加入;表之间存在多个外键约束关系。请明确指定此连接的“onclause”。

4

1 回答 1

4

此问题已在 Flask-Admin 1.2.0 中得到解决和修复,请更新到 1.2.0 并使用字符串指定路径:'rel1.something'。

参考:

于 2015-06-23T14:55:43.200 回答