Flask-Admin-Standardfilter

Ich möchte nur bezahlte Aufträge in meiner Flask-Admin-Modelllistenansicht anzeigen.

Hier ist model.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) 

Hier ist ModelView für Flask-Admin:

 class OrderView(ModelView): column_filters = ("paid") admin.add_view(OrderView(Order, db.session)) 

Filter funktionieren gut, aber ich möchte diesen Filter standardmäßig machen. Oder noch besser, verwenden Sie keine Filter und zeigen nur Aufträge an, die von Order.query.filter(Order.paid==True) abgefragt werden.

Ist es möglich, mit Flask-Admin zu tun?

One Solution collect form web for “Flask-Admin-Standardfilter”

Wir machen dies in unserer App, indem wir ModelView überschreiben.

https://github.com/mrjoes/flask-admin/blob/master/flask_admin/contrib/sqla/view.py#L654

Ich schaute durch den Quellcode ein bisschen für Flask-Admin, und sie haben die API einfacher zu bedienen, da wir zuletzt diesen Code bearbeitet haben, weil es so aussieht, wie man es einfach tun kann:

 from flask.ext.admin.contrib.sqla.view import ModelView, func class PaidOrderView(ModelVew): def get_query(self): return self.session.query(self.model).filter(self.model.paid==True) def get_count_query(self): return self.session.query(func.count('*')).filter(self.model.paid==True) 

(Wir waren überholt get_list () was nicht annähernd so groß ist.)

Sie können es dann wie:

 admin.add_view(PaidOrderView(Order, db.session)) 

Lassen Sie mich wissen, ob das nicht für Sie arbeitet und ich kann noch einen Blick nehmen.

  • Wie kann ich eine Spalte im Bearbeitungsformular mit Flask-Admin ModelView filtern?
  • Flasche-RESTful: Warum bekomme ich einen AssertionError beim Analysieren eines Arguments mit dem falschen Typ?
  • Flasche - Löschen von Uploads, nachdem sie heruntergeladen wurden
  • Flasche sieht keine Änderung in .js-Datei
  • Wie fügt man Felder URL für verschachtelte Ausgabefelder in der Klappe auf
  • @login_required Schwierigkeiten in der Flasche app
  • Holen Sie sich die Abfrage Ausführungszeit in json Ausgabe
  • Flasche-RESTful - Bild hochladen
  • Wie kann man Flaschenerweiterungen manuell installieren?
  • Spezifischere SQL-Abfrage mit flask-wtf queryselectfield
  • Wie ist der Request_loader von Flask-Login mit user_loader verknüpft?
  • Python ist die beste Programmiersprache der Welt.