Flask-Admin: добавить фильтры на первичные ключи - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь добавить фильтр для первичных ключей, это не работает. Я просмотрел исходный код и обнаружил, что он был исключен: Колба-админ / flask_admin / вно / sqla / view.py

def scaffold_filters(self, name):
    ...
    if column.foreign_keys or column.primary_key:
        continue
    ...

Есть ли обходной путь к этому? Я попытался использовать встроенные фильтры на ПК, но это не сработало.

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))

1 Ответ

0 голосов
/ 03 января 2019

вы можете просто использовать атрибут column_filters класса ModelView

если вы хотите использовать только 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)
...