【发布时间】:2011-09-29 21:06:35
【问题描述】:
我正在尝试使用 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
谢谢!
【问题讨论】:
-
你为什么使用
values()?这使得dict对象不容易被序列化。 -
我不想要我的整个对象。我只想要两个字段。价值观似乎是做到这一点的方法。有没有更好的办法?
-
由于
values不起作用,说它“似乎是这样做的方法”不可能是真的。如果您只想要两个字段,请更新问题非常非常清楚地说明。问题不清楚。 -
@S.Lott Values 完全符合它的预期:它返回字段的子集。不起作用的是结果对象的序列化。
-
@S.Lott “我正在尝试使用 Django 中的 ValuesQuerySet 功能将查询返回的字段数限制为我需要的字段数。”问题很清楚。