3

我正在使用 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'"
4

1 回答 1

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',)
于 2013-12-31T12:04:03.173 回答