So deaktivieren Sie die Felder _updated
, _created
, _etag
, _links
? Ich möchte Bandbreite begrenzen und die Felder sind größere Größe als Daten, die ich brauche eigentlich aus meiner Datenbank (MongoDB)Wie deaktiviert man automatisch generierte Felder in Python Eve?
2
A
Antwort
6
Mit Ausnahme von _links
zu erhalten, die Sie durch das Deaktivieren HATEOAS (HATEOAS = False
) entfernen können, können Sie nur Benenne die anderen Meta-Felder um.
Während das Framework selbst sie nicht entfernt, können Sie einen benutzerdefinierten Rückruf anschließen und diese Felder selbst löschen, bevor die Antwort über die Leitung gesendet wird.
from eve import Eve
def on_fetched_resource(resource, response):
for document in response['_items']:
del(document['_etag'])
# etc.
app = Eve()
app.on_fetched_resource += on_fetched_resource
if __name__ == '__main__':
app.run()
Werfen Sie einen Blick auf http://python-eve.org/config.html#projection –