Serializers¶
Serializers for various types of mongoengine documents. Replace of DRF ModelSerializer. Usage is the same.
DocumentSerializer¶
-
class
rest_framework_mongoengine.serializers.DocumentSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)¶ Bases:
rest_framework.serializers.ModelSerializerSerializer for Documents.
Recognized primitve fields:
StringFieldURLFieldEmailFieldIntFieldLongFieldFloatFieldDecimalFieldBooleanFieldDateTimeFieldComplexDateTimeFieldObjectIdFieldSequenceField(assumes it has integer counter)UUIDFieldGeoPointFieldGeoJsonBaseField(all those fields)
Compound fields:
ListFieldandDictFieldare mapped to corresponding DRF fields, with respect to nested field specification.The
ReferenceFieldis handled likeForeignKeyin DRF: there nested serializer autogenerated if serializer depth greater then 0, otherwise it’s handled by it’s own (results asstr(id)).For
EmbeddedDocumentFieldalso nested serializer autogenerated for non-zero depth, otherwise it is skipped. TODO: THIS IS PROBABLY WRONG AND SHOULD BE FIXED.Generic fields
GenericReferenceFieldandGenericEmbeddedDocumentFieldare handled by their own with corresponding serializer fields.Not well supported or untested:
FileFieldImageFieldBinaryFieldAll other fields are mapped to
DocumentFieldand probably will work wrong.
EmbeddedDocumentSerializer¶
-
class
rest_framework_mongoengine.serializers.EmbeddedDocumentSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)¶ Bases:
rest_framework_mongoengine.serializers.DocumentSerializerSerializer for EmbeddedDocuments.
Skips id field and uniqueness validation.
DynamicDocumentSerializer¶
-
class
rest_framework_mongoengine.serializers.DynamicDocumentSerializer(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)¶ Bases:
rest_framework_mongoengine.serializers.DocumentSerializerSerializer for DynamicDocuments.
Maps all undefined fields to
fields.DynamicField.