Django REST framwork mongoengine ValueError: Исходный объект SON должен иметь тип 'dict' - PullRequest
0 голосов
/ 11 мая 2018

Я работаю над проектом и использую Django REST framework и движок mongo, и я два дня путаю вопрос, подробности см. Ниже:

class Jvv(EmbeddedDocument):
    unit = fields.StringField()
    unitValue = fields.IntField()

    class Meta:
        db_table = 'imagerecognition'


class ImageRecognition(Document):
    imageUrl = fields.StringField(default='', max_length=100)
    createTime = fields.DateTimeField(default=datetime.now())
    ddPercent = fields.FloatField(required=False, default='')
    jvv = fields.ListField(fields.EmbeddedDocumentField(Jvv))

    def __str__(self):
        return self.imageUrl

    class Meta:
        db_table = 'imagerecognition'

, тогда документ serializer.p:

class JvvSerializer(mongoserializers.EmbeddedDocumentSerializer):
    class Meta:
       model = Jvv
       fields = '__all__'


class ImageUrlSerializer(mongoserializers.DocumentSerializer):
    jvv = JvvSerializer(many=True)

    class Meta:
        model = ImageRecognition
        fields = ('imageUrl', 'createTime', 'ddPercent', 'jvv')

и содержимое views.py ниже:

class ImageUrlSave(views.APIView):
    def get(self,  request, *args, **kwargs):
        imgs = ImageRecognition.objects(imageUrl='白菜')
        serializer = ImageUrlSerializer(imgs, many=True)
        ImageRecognition(imageUrl='土豆', ddPercent=8.22, jvv={'unit':'m', 'unitValue':12}).save()
        data = serializer.data
        return Response({
            'msg': 'SUCCESS',
            'code_status': 1000,
            'result': data
        })

вопрос в том, что базы данных mongod были завершены, я хочу извлечь из них некоторые данные, но когда я запускаю сервер, он показывает повысить ValueError («Исходный объект SON должен иметь тип 'dict'") ValueError: Исходный объект SON должен иметь тип dict, как я могу решить эту проблему, и я с нетерпением жду ответа. Спасибо.

...