Django mongoengine使用请求数据创建动态文档

时间:2018-11-13 05:25:55

标签: python django mongoengine

如何获取请求正文数据,对其进行解析,使其键为mongo文档中的字段,然后将相应的值保存到该字段中?我正在使用mongoengine,在其中我们需要预定义字段和序列化程序以保存数据,如下所示:

models.py

class Model(Document):
    timestamp = fields.StringField()
    source = fields.StringField()
    email = fields.StringField()

serializer.py

class ModelsSerializer(mongoserializers.DocumentSerializer):
    class Meta:
        model = Model
        fields = '__all__'

    def create(self, validated_data):
        validated_data = dict((k.lower(), v.lower()) for k, v in validated_data.items())
        logger.info("Request Data "+str(validated_data))

        instance = Models.objects.create(**validated_data)
        return instance

假设我的请求正文为:

{
    "timestamp": "1542085502174",
    "source": "source",
    "medium": "med,
    "term": "termvalue,
    "email": null,
}

此代码的问题在于,它仅保存请求正文的时间戳记,源和电子邮件字段。但是我需要以这样一种方式保存文档:文档创建新的字段介质和术语,并在mongo中添加相应的med和termvalue。

0 个答案:

没有答案