Wie fügt man Felder URL für verschachtelte Ausgabefelder in der Klappe auf

Ich habe Schwierigkeiten, AIP-Endpunkt-URLs in verschachtelten Ausgabefeldern mit [Flask-RESTful] [1] zu erzeugen.

Ich habe festgestellt, dass fields.Url('my_endpoint', absolute=True) nur URL in Top-URL-Felder erzeugt, nicht die verschachtelte. Es wirft werkzeug.routing.BuildError – [Fehlerprotokoll] [1] https://gist.github.com/anonymous/6251c67089871d0e4516

Zum Beispiel hier sind meine URL-Felder

 role_fields = { 'name': fields.String(attribute='title'), 'id': fields.Integer(attribute='id'), 'uri': fields.Url('user_endpoint', absolute=True) } user_fields = { 'id': fields.Integer, 'username': fields.String, 'email': fields.String, 'full_name': fields.String(attribute='real_name'), 'website': fields.String(default=None), 'bio': fields.String(default=None), 'created_date': fields.DateTime, 'modified_date': fields.DateTime, 'uri': fields.Url('user_endpoint', absolute=True), 'role': fields.Nested(role_fields), } 

One Solution collect form web for “Wie fügt man Felder URL für verschachtelte Ausgabefelder in der Klappe auf”

Das Problem war fields.Url benötigt einen erforderlichen Endpunktparameter, In diesem Fall sein username .

Der Parameter username steht für user_fields mit dem zurückgegebenen user , aber das user.role enthält kein username .

So habe ich 'userername attribute to user.role` Objekt zugewiesen, bevor ich attribute to zurückgibt.

 user = get_user(username) #Get user object from db user.role.username = user.username return user 
  • Wie man benutzerdefinierten Code bei der Anmeldung mit Flasche-Sicherheit ausführt
  • Kein Signal von Flask-Sicherheit
  • Die Datenbankverbindung aus dem Anwendungskontext mit Flask-Restful erhalten
  • Wie kann man Flaschenerweiterungen manuell installieren?
  • Flask-Admin-Standardfilter
  • Wie benutzt man QuerySelectField im Kolben?
  • Flasche-RESTful: Warum bekomme ich einen AssertionError beim Analysieren eines Arguments mit dem falschen Typ?
  • Flasche - Löschen von Uploads, nachdem sie heruntergeladen wurden
  • Wie man ein Feld nicht editierbar in Flask Admin-Ansicht einer Modellklasse macht
  • Flask Admin ModelAlle Felder zwischen CREATE und EDIT anzeigen
  • Flasche und flask_login - vermeiden Sie das Importieren von flask_login aus dem Hauptcode
  • Python ist die beste Programmiersprache der Welt.