我在这做错了什么?我正在抛出异常。
例外:无效字段:不包含任何列。
我实际上想要从包含房间成本的三个不同列中过滤结果。如果任何房间满足三个房间的特定条件,那么它应该出现在列表中。这就是我想制作自定义过滤器的原因。
请帮帮我。提前谢谢。
from flask.ext.admin.babel import lazy_gettext
from flask.ext.admin.model import filters
class MyBaseFilter(filters.BaseFilter):
"""
Base SQLAlchemy filter.
"""
def __init__(self, column, name, options=None, data_type=None):
"""
Constructor.
:param column:
Model field
:param name:
Display name
:param options:
Fixed set of options
:param data_type:
Client data type
"""
super(MyBaseFilter, self).__init__(name, options, data_type)
self.column = column
class Views():
class HotelAdmin(ModelView):
class FilterCost(MyBaseFilter):
def apply(self, query, value):
return query.filter(self.column > value)
def operation(self):
return lazy_gettext('Cost')
column_labels = {'hotel_name':'Hotel Details'}
column_list = ('hotel_name','website')
column_searchable_list = ('city',)
column_filters = (FilterCost(Table.Hotel.deluxe_room,'Cost'),'state')
答案 0 :(得分:0)
我做了以下工作并且有效:
加入: 来自flask.ext.admin.contrib.sqla导入过滤器
移除: 来自于flask.ext.admin.model导入过滤器AND class MyBaseFilter(filters.BaseFilter)
然后我继承了#34; filters.BaseSQLAFilter"在我的过滤器类中。
但是,我怎么能使用"类MyBaseFilter(filters.BaseFilter)",它仍然会抛出错误