2. API Reference

class marshmallow_mongoengine.ModelSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Base class for Mongoengine model-based Schemas.

Example:

from marshmallow_mongoengine import ModelSchema
from mymodels import User

class UserSchema(ModelSchema):
    class Meta:
        model = User
OPTIONS_CLASS

alias of SchemaOpts

update(obj, data)[source]

Helper function to update an already existing document instead of creating a new one. :param obj: Mongoengine Document to update :param data: incomming payload to deserialize :return: an :class UnmarshallResult:

Example:

from marshmallow_mongoengine import ModelSchema
from mymodels import User

class UserSchema(ModelSchema):
    class Meta:
        model = User

def update_obj(id, payload):
    user = User.objects(id=id).first()
    result = UserSchema().update(user, payload)
    result.data is user # True

Note:

Given the update is done on a existing object, the required param on the fields is ignored
class marshmallow_mongoengine.SchemaOpts(meta)[source]

Options class for ModelSchema. Adds the following options:

  • model: The Mongoengine Document model to generate the Schema

    from (required).

  • model_fields_kwargs: Dict of {field: kwargs} to provide as

    additionals argument during fields creation.

  • model_build_obj: If true, :Schema load: returns a :model: objects

    instead of a dict (default: True).

  • model_converter: ModelConverter class to use for converting the

    Mongoengine Document model to marshmallow fields.

  • model_dump_only_pk: If the document autogenerate it primary_key

    (default behaviour in Mongoengine), ignore it from the incomming data (default: False)

  • model_skip_values: Skip the field if it contains one of the given

    values (default: None, [] and {})

class marshmallow_mongoengine.ModelConverter[source]

Class that converts a mongoengine Document into a dictionary of corresponding marshmallow Fields <marshmallow.fields.Field>.

exception marshmallow_mongoengine.ModelConversionError[source]

Raised when an error occurs in converting a Mongoengine construct to a marshmallow object.

marshmallow_mongoengine.register_field_builder(mongo_field_cls, builder)[source]

Register a :class MetaFieldBuilder: to a given Mongoengine Field :param mongo_field_cls: Mongoengine Field :param build: field_builder to register

marshmallow_mongoengine.register_field(mongo_field_cls, marshmallow_field_cls, available_params=())[source]

Bind a marshmallow field to it corresponding mongoengine field :param mongo_field_cls: Mongoengine Field :param marshmallow_field_cls: Marshmallow Field :param available_params: List of :class marshmallow_mongoengine.cnoversion.params.MetaParam:

instances to import the mongoengine field config to marshmallow