我正在使用Flask-Admin为我的应用程序创建一个后端界面。我想在管理视图中添加一些过滤器,但是我收到了错误
'Exception: Unsupported filter type column_name'
其中列名称是外键的列字段。 有没有人之前使用过flask-admin?
这里有模特:
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'"
答案 0 :(得分:2)
你必须添加关系。
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',)