蟒蛇+ Django的试图序列mongoengine文件,JSON,但得到的字段名称的唯一阵列

问题描述:

我有如下因素模型:蟒蛇+ Django的试图序列mongoengine文件,JSON,但得到的字段名称的唯一阵列

class Estados(Document): 
    Nome = StringField(max_length = 20, required=True) 
    Sigla = StringField(max_length = 2, required=True) 
    Cidades = ListField(StringField) 

当我查询它,用这种方法:

from django.http import HttpRequest 
from app.models import Estados 
from django.http import HttpResponse 
from bson.json_util import dumps, default 
import sys 
import mongoengine 

def BuscarEstados(request): 
    erro = None 
    dados = [] 
    try: 
     dados = Estados.objects.exclude('Cidades').all() 
    except Exception as e: 
     erro = 'Solicicação inválida: ' + str(e) 

    return HttpResponse(dumps({ 'erro': erro, 'dados': dados}, default=default)) 

我得到只有字段名称的阵列:

{"dados": [["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"], ["id", "Nome", "Sigla", "Cidades"]], "erro": null} 

请问,我在做什么错了?

我使用Django 1.10.4,pymongo 3.4.0,mongoengine 0.11.0和Python 3.5

我找到了解决办法......可惜的是该MongoEngine的文档仍然在增长......

他们向文档提供了一个to_json()方法。

所以:

dados = Estados.objects.exclude('Cidades').all().to_json()