2009-04-27 6 views
3

Я пытаюсь сделать представление Django, которое даст ответ JSON с самыми ранними и последними объектами. Но, к сожалению, он не справляется с этой ошибкой.Django serializer дает объект 'str' не имеет атрибута '_meta' error

'str' object has no attribute '_meta' 

У меня есть другая сериализация, и она работает.

Вот код.

def get_calendar_limits(request): 
    result = serializers.serialize("json", Session.objects.aggregate(Max('date'), Min('date')), ensure_ascii=False) 
    return HttpResponse(result, mimetype="application/javascript") 

Большое спасибо заранее.

ответ

0

Взгляните на следующее:

objects= Session.objects.aggregate(Max('date'), Min('date')) 
print [ type[o] for o in objects ] 
result = serializers.serialize("json", objects, ensure_ascii=False) 

Вы можете просто запустить выше в интерактивном Python в качестве эксперимента.

Какой у вас тип объекта? Является ли этот тип сериализуемым?

+0

Вы правы, объекты не могут быть сериализованы. Большое спасибо. – freiksenet

1

я получаю ту же ошибку при попытке сериализовать объект, который не является производным от модуля имеет Джанго Модель

+1

Да, я понял, что мне нужно сделать собственный сериализатор для сериализации не-Django-моделей. Я решил это, просто имея шаблон JSON, поскольку мне это нужно всего лишь на один маленький бит. – freiksenet

1

Python «JSon». Он может «сбрасывать» и «загружать» функцию. Они могут сериализоваться и десериализоваться соответственно.

Смежные вопросы