![](/img/trans.png)
[英]model_to_dict: AttributeError: 'str' object has no attribute '_meta'
[英]AttributeError: 'dict' object has no attribute '_meta'
得到的代码
shops = Shop.objects.filter(id__in=list(set(shop_ids))).all()
shop_list = []
for s in shops.only():
shop_list.append({
'id': s.id,
'name': s.name,
'preview': s.preview,
})
response_data['shop'] = serializers.serialize('json', shop_list)
return response_data
.....
AttributeError: dict object has no attribute _meta
如何解决此问题?
序列化期望查询集作为第二个参数-您正在传递字典列表; docstring:
def serialize(format, queryset, **options):
"""
Serialize a queryset (or any iterator that returns database objects) using
a certain serializer.
"""
...
基本上,您的数据几乎已序列化。 调用简单的json.dumps()
;
快乐的外衣。
Maybe you want this:
def someUrlFunc(request):
# ....do some business...
objs = SomeModel.objects.all().values()
# you don't need to do this anymore
# response = serializers.serialize('json', objs, ensure_ascii=False)
# just return the values as string
response = str(list(result))
return HttpResponse(response)
更新:另外,您可以尝试以下操作:
import json
def someUrlFunc(request):
objs = SomeModel.objects.all().values()
response = json.dumps(list(result))
return HttpResponse(response)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.