Mongoengine integration with the marshmallow (de)serialization library
Project description
marshmallow-mongoengine
Mongoengine integration with the marshmallow (de)serialization library.
See documentation at http://marshmallow-mongoengine.rtfd.org/
Declare your models
import mongoengine as me class Author(me.Document): id = me.IntField(primary_key=True, default=1) name = me.StringField() books = me.ListField(me.ReferenceField('Book')) def __repr__(self): return '<Author(name={self.name!r})>'.format(self=self) class Book(me.Document): title = me.StringField()
Generate marshmallow schemas
from marshmallow_mongoengine import ModelSchema class AuthorSchema(ModelSchema): class Meta: model = Author class BookSchema(ModelSchema): class Meta: model = Book author_schema = AuthorSchema()
(De)serialize your data
author = Author(name='Chuck Paluhniuk').save() book = Book(title='Fight Club', author=author).save() dump_data = author_schema.dump(author).data # {'id': 1, 'name': 'Chuck Paluhniuk', 'books': ['5578726b7a58012298a5a7e2']} author_schema.load(dump_data).data # <Author(name='Chuck Paluhniuk')>
Get it now
pip install -U marshmallow-mongoengine
License
MIT licensed. See the bundled LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size marshmallow-mongoengine-0.30.2.tar.gz (11.6 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for marshmallow-mongoengine-0.30.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64857b86a4f2e2d8ff096eab2fa244562817c9e0bb7cda156a0bb85d3dbcbbcf |
|
MD5 | c2daccea23cdbefc0217d5ddd7aacae8 |
|
BLAKE2-256 | f70d1b5beea5273817cb80b717f896d7ef9990addbfb16763b8cb0bf7b0804a3 |