Импорт методов модели django в json - PullRequest
0 голосов
/ 18 июля 2011

Я пытаюсь вывести набор записей базы данных в JSON следующим образом:

def json_dbtable(request, p):

    t = MyModel.objects.filter({some query})
    s = serializers.get_serializer("json")()

    re = s.serialize(t, ensure_ascii=False)

    return HttpResponse(re, mimetype="application/json")

Однако, одно из полей, которые я пытаюсь вернуть, необходимо изменить, если оно null, иЧтобы исправить это, в модели есть определение, которое используется как свойство .eg:

name = property(_get_useful_name)

Итак, чтобы понять суть вопроса.Как я могу включить это свойство "name" в сериализацию json, а также в необработанные данные полей?

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Короткий ответ - нет, длинный ответ - вы можете сериализовать свой MyModel экземпляр самостоятельно:

simplejson.dumps([{'pk': m.pk, 'name': m.name} for m in MyModel.objects.filter(...)])
0 голосов
/ 04 августа 2011

Я написал платформу сериализации для Python под названием any2any , которая включает в себя (de) сериализаторы для Django и которая позволяет легко , что .Это будет намного чище, чем самодельный способ.Надеюсь, это поможет!

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