Chciałbym wyświetlać tylko płatne zamówienia w moim widoku listy modeli Flask-Admin.Domyślne filtry Flask-Admin
Oto models.py:
class Order(db.Model):
id = db.Column(db.Integer, primary_key=True)
amount = db.Column(db.Integer)
description = db.Column(db.String)
paid = db.Column(db.Boolean, default=False)
Oto ModelView do kolby-admin:
class OrderView(ModelView):
column_filters = ("paid")
admin.add_view(OrderView(Order, db.session))
Filtry działają dobrze, ale chciałbym, aby ten domyślny filtr. Albo jeszcze lepiej, nie używaj filtrów i wyświetlaj tylko zamówienia, które są wyjściami zapytania Order.query.filter(Order.paid==True)
.
Czy można to zrobić za pomocą Flask-Admin?
Działa świetnie, dziękuję bardzo! Mimo że musiałem zmienić funkcję liczenia zapytań na "def get_count_query (self): return self.session.query (func.count ('*')). Filter (Order.paid == True)", w przeciwnym wypadku wystąpił błąd , coś o obiekcie Int nie posiadającym atrybutu skalarnego :) – user2672932
Wspaniale, tak się cieszę! –
@RachelSanders: Zaktualizowano odpowiedź, aby uwzględnić komentarz użytkownika, mam nadzieję, że wszystko jest w porządku. Dzięki za badanie tego, naprawdę mi pomogło! –