【问题标题】:Flask-Admin: add filters on foreign keysFlask-Admin:在外键上添加过滤器
【发布时间】:2013-08-19 16:27:14
【问题描述】:

我正在使用 Flask-Admin 为我的应用程序创建后端接口。我想在管理视图中添加一些过滤器,但出现错误

'Exception: Unsupported filter type column_name'

其中列名是作为外键的列字段。 以前有人用过烧瓶管理员吗?

这里是模型:

class Keywords(Base):
    id = Column(String(4), primary_key=True)
    language = Column(ForeignKey('w_accounts.language'))
    camp_type = Column(ForeignKey('w_camp_types.camp_type'))
class KeywordsAdmin(BaseAdmin):
   column_searchable_list = ('toa_id', 'name', 'toa')
   column_list = ('toa_id', 'language', 'camp_type', 'name', 'aliases', 'toa', 'toa_type')
   column_filters = ('language',) 

通过API后,我也尝试添加以下属性:

       column_select_related_list = ('language',)

当我在浏览器上加载页面时,我得到一个异常,而不是立即得到一个错误,

"AttributeError: 'ColumnProperty' object has no attribute 'mapper'"

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    你必须添加关系。

    class Keywords(Base):
        id = Column(String(4), primary_key=True)
        language = Column(ForeignKey('w_accounts.language'))
        camp_type = Column(ForeignKey('w_camp_types.camp_type'))
    
        language_ref = relationship("w_accounts", backref=db.backref('keywords', lazy='dynamic'))
    

    然后:

    column_select_related_list = ('language_ref',)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-23
      • 2022-01-01
      • 1970-01-01
      • 2015-07-24
      • 2015-05-03
      • 1970-01-01
      • 2012-04-28
      相关资源
      最近更新 更多