2010-02-13 2 views
2

Я создал форму для добавления заметок о клиенте в нашем веб-админе. Я использую jQuery и Ajax для отправки. Я хотел бы, чтобы представление Django возвращало недавно добавленную запись/запись, поэтому я могу добавить ее в таблицу клиентских заметок. Моя почта Ajax работает, и заметка сохраняется, я просто не могу отобразить результат.Django возвращает одну запись как JSON

Я попытался следующие 3 строки (отдельно):

serializers.serialize("json", Note.objects.get(id=new_note.id)) 
serializers.serialize("json", new_note) 
return HttpResponse(simplejson.dumps(new_note), mimetype='application/javascript') 

Первые 2 каждая продукция:

'Note' object is not iterable 

И третий один дал мне:

<Note: Note object> is not JSON serializable 

I на самом деле не заботятся о том, в каком формате я возвращаю объект, пока я могу получать и отображать каждое поле записи с помощью jQuery.

Спасибо.

ответ

9

От the docs:

Аргументы функции сериализации имеют формат сериализации данных в форматы (см Serialization) и QuerySet сериализации.

Использовать filter() вместо get().

+0

Спасибо. Я прочитал документы и увидел, что это должен быть набор запросов, я не понимал, что он будет работать с .filter(). – mhost

+1

Я действительно думаю, что ответ неопролога - это именно то, что вы ищете в этом случае. Не у всех есть набор запросов, который они хотят использовать в момент их сериализации. – JamesD

9

Использование:

serializers.serialize("json", [new_note]) 

(внимание на квадратные скобки вокруг объекта запроса)

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