API Reference

Document

class umongo.Document(**kwargs)[source]
classmethod build_from_mongo(data, partial=False, use_cls=False)[source]

Create a document instance from MongoDB data

Parameters:
  • data – data as retrieved from MongoDB
  • use_cls – if the data contains a _cls field, use it determine the Document class to instanciate
clear_modified()[source]

Reset the list of document’s modified items

dbref

Return a pymongo DBRef instance related to the document

dump(schema=None)[source]

Dump the document: return a dict

Parameters:schema – use this schema for the dump instead of the default one
from_mongo(data, partial=False)[source]

Update the document with the MongoDB data

Parameters:data – data as retrieved from MongoDB
pk

Return the document’s primary key (i.e. _id in mongo notation) or None if not available yet

to_mongo(update=False)[source]
update(data, schema=None)[source]

Update the document with the given data

Parameters:schema – use this schema for the load instead of the default one
class umongo.meta.DocumentOpts(name, nmspc, bases)[source]

Fields

class umongo.fields.DictField(*args, **kwargs)[source]
class umongo.fields.ListField(*args, **kwargs)[source]
map_to_field(mongo_path, path, func)[source]

Apply a function to every field in the schema

class umongo.fields.StringField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.UUIDField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.NumberField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.IntegerField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.DecimalField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.BooleanField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.FormattedStringField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.FloatField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.DateTimeField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.UrlField(*args, io_validate=None, unique=False, **kwargs)[source]
umongo.fields.URLField

alias of UrlField

class umongo.fields.EmailField(*args, io_validate=None, unique=False, **kwargs)[source]
umongo.fields.StrField

alias of StringField

umongo.fields.BoolField

alias of BooleanField

umongo.fields.IntField

alias of IntegerField

class umongo.fields.ConstantField(*args, io_validate=None, unique=False, **kwargs)[source]
class umongo.fields.ObjectIdField(*args, io_validate=None, unique=False, **kwargs)[source]

Marshmallow field for bson.ObjectId

class umongo.fields.ReferenceField(document_cls, *args, reference_cls=<class 'umongo.data_objects.Reference'>, **kwargs)[source]
document_cls
class umongo.fields.GenericReferenceField(*args, reference_cls=<class 'umongo.data_objects.Reference'>, **kwargs)[source]
class umongo.fields.EmbeddedField(embedded_document_cls, *args, **kwargs)[source]
map_to_field(mongo_path, path, func)[source]

Apply a function to every field in the schema

Data objects

class umongo.data_objects.EmbeddedDocument(**kwargs)[source]
Schema

alias of EmbeddedDocumentSchema

clear_modified()[source]
dump()[source]
from_mongo(data)[source]
is_modified()[source]
schema = <EmbeddedDocumentSchema(many=False, strict=False)>
set_modified()[source]
to_mongo(update=False)[source]
class umongo.data_objects.List(container_field, *args, **kwargs)[source]
append(obj)[source]
clear(*args, **kwargs)[source]
extend(iterable)[source]
pop(*args, **kwargs)[source]
remove(*args, **kwargs)[source]
reverse(*args, **kwargs)[source]
sort(*args, **kwargs)[source]
class umongo.data_objects.Reference(document_cls, pk)[source]
io_fetch(no_data=False)[source]

Exceptions

exception umongo.exceptions.AbstractDocumentError[source]
exception umongo.exceptions.AlreadyRegisteredDocumentError[source]
exception umongo.exceptions.DeleteError[source]
exception umongo.exceptions.DocumentDefinitionError[source]
exception umongo.exceptions.FieldNotLoadedError[source]
exception umongo.exceptions.MissingSchemaError[source]
exception umongo.exceptions.NoCollectionDefinedError[source]
exception umongo.exceptions.NoCompatibleDalError[source]
exception umongo.exceptions.NoDBDefinedError[source]
exception umongo.exceptions.NotCreatedError[source]
exception umongo.exceptions.NotRegisteredDocumentError[source]
exception umongo.exceptions.UMongoError[source]
exception umongo.exceptions.UpdateError[source]