Я бы хотел отфильтровать результаты своей работы с flask-admin по вычисленному свойству, которое извлекает статус из столбца из MongoDB.Ниже мой Кодекс, который, кажется, не работает.Когда я пытаюсь сделать это с не вычисляемым столбцом, он работает нормально.Но когда я пытаюсь с моим вычисляемым столбцом, я вижу значение ENABLED
, но при фильтрации только по ENABLED я ничего не получаю, а при фильтрации по чему-либо, кроме ENABLED, я получаю все.
Вот объект модели
class Foo(db.Model):
__tablename__ = 'foo'
bar = db.Column(db.String(100))
@property
def bar_status(self):
status = get_status_for_bar(self.bar) # Checks mongo for record
return status if status is not None else "Not in list"
Просмотр
# Create custom filter class
class FilterBarEnabled(BaseSQLAFilter):
def apply(self, query, value, alias=None):
return query.filter(self.column != "ENABLED")
def operation(self):
return 'is Enabled'
class FooModelView(BaseModelView):
can_view_details = True
column_list = ('bar_status')
page_size = 5
column_filters = [
FilterEnabled(column=Foo.bar_status, name='Suspicious'),
]