我正试图使用Django中的ValuesQuerySet特性来限制从查询返回的字段数量,使之仅限于我需要的字段。我想将这个数据集序列化为一个JSON对象,但是Django一直抛出一个错误。以下是我的代码和收到的错误:
objectList = ConventionCard.objects.values('fileName','id').filter(ownerUser = user)
data = serializers.serialize('json', objectList)
return HttpResponse(data, mimetype='application/javascript')
错误:
Exception Type: AttributeError
Exception Value: 'dict' object has no attribute '_meta'
Exception Location: C:\Python27\lib\site-packages\django\core\serializers\base.py in serialize, line 41
谢谢!
首先将ValuesQuerySet强制转换为列表:
按照ars的建议删除
values
调用将导致管理器从表中提取所有列,而不是只提取您需要的两列。我继续得到一个
dict
对象在使用上面的list()
方法时没有属性_meta
错误。但是我发现this snippet有这个诀窍改为使用QuerySet通过
serialize
方法在值列表中尝试subsetting the fields:相关问题 更多 >
编程相关推荐