fields.Url φιάλη-restplus δεν λειτουργεί για το έγγραφο mongoengine;

ψήφοι
0

Έχω την εξής Mongoengine Doeument:

class Post(mongo_db.Document):
    id = mongo_db.UUIDField(max_length=300, required=True, primary_key=True)
    content = mongo_db.StringField(max_length=300, required=False,)
    notes = mongo_db.ListField(mongo_db.StringField(max_length=2000), required=False)
    category = mongo_db.ReferenceField('Category', required=True)
    creation_date = mongo_db.DateTimeField()

Και τα ακόλουθα model, των πόρων που ορίζονται για αυτό:

post_fields = ns.model(
    'Post', 
    {
        'content': fields.String,
        'creation_date': fields.DateTime,
        'notes': fields.List(fields.String),
        'category': fields.Nested(category_fields),
        'URI': fields.Url('my_endpoint')
    }
)


class PostResource(Resource):

    @ns.marshal_with(post_fields)
    def get(self):
        queryset = Post.objects
        return list(queryset)

Όλα λειτουργούν ΟΚ για όλους τους τομείς, εκτός από την fields.Url, και το ακόλουθο μήνυμα λάθους αυξάνεται:

flask_restplus.fields.MarshallingError: url_for() argument after ** must be a mapping, not Post

Προσπάθησα να χρησιμοποιήσει flask«s jsonifyλειτουργία:

return jsonify(queryset)

αλλά το ακόλουθο σφάλμα παρουσιαστεί:

werkzeug.routing.BuildError: Could not build url for endpoint 'my_endpoint' with values ['_on_close', '_status', '_status_code', 'direct_passthrough', 'headers', 'response']. Did you forget to specify values ['id']?

Παρακαλώ να με ενημερώσετε αν θέλετε οποιεσδήποτε άλλες λεπτομέρειες, και ευχαριστώ εκ των προτέρων.

Δημοσιεύθηκε 24/10/2019 στις 13:02
πηγή χρήστη
Σε άλλες γλώσσες...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more