Python ';str';对象没有属性'_meta&x27;

Python ';str';对象没有属性'_meta&x27;,python,Python,错误:“str”对象没有属性“\u meta” 我们试图分析字典,但它说它是字符串?这是因为一个字典中有多个对象吗?Django的序列化程序只用于序列化QuerySets,但您正在向它传递一个dict。如果您想序列化一个dict,可能您正在寻找。json\u serializer.serialize应该与queryset一起使用。更多信息 您应该能够通过以下方式实现同样的目标: def participant_specific(request, participant): helper

错误:“str”对象没有属性“\u meta”


我们试图分析字典,但它说它是字符串?这是因为一个字典中有多个对象吗?

Django的序列化程序只用于序列化
QuerySet
s,但您正在向它传递一个
dict
。如果您想序列化一个
dict
,可能您正在寻找。

json\u serializer.serialize应该与queryset一起使用。更多信息

您应该能够通过以下方式实现同样的目标:

def participant_specific(request, participant):
    helper = RelayFunctions()
    info = helper.participant_specific_donation(participant)
    info1 = helper.participant_specific_milestone(participant)

    data = { 'participant_specific_donation' : info , 'participant_specific_milestone' : info1 }
    json_serializer = serializers.get_serializer("json")()
    response = json_serializer.serialize(data, ensure_ascii=False)
    return HttpResponse(response, mimetype="application/json") 

Traceback:
 File "/home/vtrelayc/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
   111.                         response = callback(request, *callback_args, **callback_kwargs)
 File "/home/vtrelayc/projects/relay/relayapp/views.py" in participant_specific
   192.     response = json_serializer.serialize(data, ensure_ascii=False)
 File "/home/vtrelayc/lib/python2.6/site-packages/django/core/serializers/base.py" in serialize
   46.             concrete_model = obj._meta.concrete_model

 Exception Type: AttributeError at /participants/specific/1/
 Exception Value: 'str' object has no attribute '_meta'

希望这能有所帮助。

这是一个很好的直截了当的答案。谢谢@icktoofay.Link是404'ing…不如在链接的同时发布一些代码
import json
data = json.dumps({ 'participant_specific_donation' : info , 'participant_specific_milestone' : info1 })