蟒蛇+ 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()