Передача JSON с Джанго - PullRequest
       3

Передача JSON с Джанго

1 голос
/ 30 сентября 2011

Я передаю информацию в эскиз обработки из бэкэнда Django. Проблема возникает с «лекциями», кажется, что это не сериализуемо. Я скучаю по чему-то очень простому.

def get(request, last_update = None):
    timestamp = time.time() 
    if last_update:
        last_update = datetime.fromtimestamp(float(last_update))
        lectures = Lecture.objects.all().filter(datetime_edit__gt=last_update)
    else:
        lectures = Lecture.objects.all()
    updates = {'timestamp': timestamp, 'lectures': lectures}
    print updates
    return HttpResponse(json.dumps(updates), mimetype="application/json")

Вот ответ, который я получаю в браузере.

[<Lecture: whales>, <Lecture: cats>, <Lecture: rain>, <Lecture: china>] is not JSON serializable

Ответы [ 2 ]

3 голосов
/ 30 сентября 2011

QuerySet не может быть сериализовано таким образом.Используйте .values() и list(), чтобы сначала превратить его в базовую структуру Python (т.е. list из dict s).

2 голосов
/ 30 сентября 2011

Сериализация JSON не поддерживает сериализацию произвольных экземпляров классов.Перед сериализацией следует преобразовать записи лекций в словари.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...