Обновить объект модели новым динамически созданным полем? - PullRequest
0 голосов
/ 01 декабря 2009

У меня есть Queryset:
queryset = Status.objects.all()[:10]
Модель Status не имеет поля commentAmount, поэтому я бы добавил его к каждому объекту в Queryset:

for s in queryset:
    s.commentAmount = s.getCommentAmount()

Все хорошо, print s.commentAmount показывает хорошие результаты, но после:

response = HttpResponse()
response['Content-Type'] = "text/javascript"
response.write(serializers.serialize("json", queryset))

return response

У меня нет поля commentAmount при возврате файла JSON. Где моя ошибка?

1 Ответ

2 голосов
/ 02 декабря 2009

Причина, по которой commentAmount не отображается, заключается в том, что когда Django выполняет сериализацию, он просматривает поля, объявленные в модели, и только эти поля.

Подумайте о циклическом просмотре набора запросов в шаблоне и создании json вручную или с помощью другого инструмента сериализации, например simplejson .

...