Просто, чтобы добавить несколько деталей, которые я нашел:
Когда я попробовал @ars ответить, указав поля, например:
s_logs = serializers.serialize("json", logs, fields=('user', 'action', 'time'))
Я получил это:
[{"pk": 520, "model": "audit.auditlog", "fields": {"user": 3, "action": "create", "time":"2012-12-16T12:13:45.540"}}, ... ]
Это не было простой сериализацией значений, как я хотел.
Так что я попробовал решение, предложенное @Aaron, преобразовав набор значений в список, который не работал в первый раз, потому чтокодировщик по умолчанию не может работать с объектами типа float или datetime.
Итак, я использовал решение @Aaron, но использовал кодер JSON, который используется сериализатором django (DjangoJSONEncoder), передав его в виде kwarg simplejson.dumps()
, например:
s_logs = list(logs.values('user', 'ip', 'object_name', 'object_type', 'action', 'time'))
return HttpResponse(simplejson.dumps( s_logs, cls=DjangoJSONEncoder ), mimetype='application/javascript')