Flask-Admin:在主键上添加过滤器
Flask-Admin: add filters on Primary keys
我正在尝试在主键上添加过滤器,但它不起作用。翻了一下源码发现,已经排除了:
flask-admin/flask_admin/contrib/sqla/view.py
def scaffold_filters(self, name):
...
if column.foreign_keys or column.primary_key:
continue
...
有什么解决方法吗?
我尝试在 pk 上使用内置过滤器,但没有用。
from back.database import Base
class MyView(ModelView):
def __init__(self, model):
self.column_filters = [FilterEqual('_id', '_id')]
super().__init__(model)
class User(Base):
_id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(50))
您可以只使用 ModelView 的 column_filters 属性 Class
如果您只想要 EqualFilter,它看起来像这样:
class MyView(ModelView):
column_filters = (FilterEqual(column=User._id, name='id'),)
def __init__(self, model):
super().__init__(model)
你也可以告诉flask_admin检测所有可能的过滤器,那么它看起来像这样
class MyView(ModelView):
column_filters = ('_id',)
def __init__(self, model):
super().__init__(model)
我正在尝试在主键上添加过滤器,但它不起作用。翻了一下源码发现,已经排除了: flask-admin/flask_admin/contrib/sqla/view.py
def scaffold_filters(self, name):
...
if column.foreign_keys or column.primary_key:
continue
...
有什么解决方法吗? 我尝试在 pk 上使用内置过滤器,但没有用。
from back.database import Base
class MyView(ModelView):
def __init__(self, model):
self.column_filters = [FilterEqual('_id', '_id')]
super().__init__(model)
class User(Base):
_id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(50))
您可以只使用 ModelView 的 column_filters 属性 Class
如果您只想要 EqualFilter,它看起来像这样:
class MyView(ModelView):
column_filters = (FilterEqual(column=User._id, name='id'),)
def __init__(self, model):
super().__init__(model)
你也可以告诉flask_admin检测所有可能的过滤器,那么它看起来像这样
class MyView(ModelView):
column_filters = ('_id',)
def __init__(self, model):
super().__init__(model)