[Fixed]-MapField is not displayed in Django Rest Framework Mongoengine

1👍

Sijan, is it correct that you want your File documents to have the following structure:

{
    "country": "UK",
    "languages": {
        "hindi": AudioImageJSON,
        "russian": AudioImageJSON,
        "c**kney": AudioImageJSON
    }
}

where the structure of AudioImageJSON is described by corresponding EmbeddedDocument?

In that case, your DocumentSerializer is correct and your specify your model as follows:

class AudioImage(EmbeddedDocument):
    content = fields.FileField()

class File(DynamicDocument):
    country = fields.StringField(max_length=100, unique=True)
    languages = fields.MapField(fields.EmbeddedDocumentField(AudioImage))

Note that Browsable API won’t be able to display nested form inputs for EmbeddedDocument fields. But you may still use raw data view.

Leave a comment