有没有办法在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不知道要加入User表的哪个fk字段。
InvalidRequestError:找不到要加入的FROM子句。试着 加入用户,但得到:无法确定'消息之间的联接'和 '用户&#39 ;;表具有多个外键约束关系 它们之间。请指明' onclause'明确加入。
答案 0 :(得分:2)
此问题已在Flask-Admin 1.2.0中得到解决和修复,请更新至1.2.0并使用字符串指定路径:' rel1.something'。
参考文献: