gibt es eine Möglichkeit, ein eigenes berechnetes Feld in das Schema zu bringen, das mit einem Wert gefüllt werden kann, der in einem befor_output-Ereignis von flask berechnet wird, oder etwas?fügen Sie ein berechnetes Feld zu jedem Schema hinzu
schema = {
# Schema definition, based on Cerberus grammar. Check the Cerberus project
# (https://github.com/nicolaiarocci/cerberus) for details.
'firstname': {
'type': 'string',
'minlength': 1,
'maxlength': 10,
},
'lastname': {
'type': 'string',
'minlength': 1,
'maxlength': 15,
'required': True,
# talk about hard constraints! For the purpose of the demo
# 'lastname' is an API entry-point, so we need it to be unique.
'unique': True,
},
# 'role' is a list, and can only contain values from 'allowed'.
'role': {
'type': 'list',
'allowed': ["author", "contributor", "copy"],
},
# An embedded 'strongly-typed' dictionary.
'location': {
'type': 'dict',
'schema': {
'address': {'type': 'string'},
'city': {'type': 'string'}
},
},
'born': {
'type': 'datetime',
},
'calculated_field': {
'type': 'string',
}
}
und das berechnete_Feld wird mit einer eigenen mongodb-Abfrageanweisung gefüllt.
ist kein vor einfügen [Hook] (http://python-eve.org/features.html#event-hooks) lösen Ihr Problem? Sie können den berechneten_Feld-Wert vor dem Einfügen und sogar read_only im Schema eingeben, um manuelle Einfügungen zu vermeiden. – gcw