2016-04-26 5 views
0

Ich verwende Flask-Restful. Ich hätte gerne einen strukturierten Marshal, aber mit einem beliebigen Feld, das andere gültige JSON-Daten enthalten könnte.Wie benutze ich ein Feld "Catchall", wenn ich die Felder von Flask-Restful benutze?

Angenommen, dass ich eine Ressource für Benutzer mit ‚name‘ haben und ‚birth_date‘, sondern auch ein Feld ‚Einstellungen‘, die jede beliebige JSON enthält:

from flask_restful import Resource, marshal_with, fields 
import datetime 
class MyResource(Resource): 
    resource_fields = { 
     'name': fields.String, 
     'birth_date': fields.DateTime, 
     'preferences': fields.GeneralJson 
    } 

    @marshal_with(resource_fields) 
    def get(self): 
     return {'name': 'Newbie Newborn', 
       'birth_date': datetime.datetime.now(), 
       'preferences': { 
        'wine': 'cab-sav', 
        'cheese': 'cheddar', 
        'favorite_movies': ['The Big Lebowski', 'Anchorman']} 
       } 

Das Problem mit diesem, von natürlich, ist das fields.GeneralJson nicht vorhanden. Was soll ich tun, um einen "schemalosen" Abschnitt eines JSON-Schemas mit Flask-Restful zu definieren?

Antwort

0

Aha. Sie können einfach fields.Raw verwenden.