Настроить формат сериала Json в Django? - PullRequest
3 голосов
/ 18 декабря 2011

При сериализации объекта модели django формат выглядит следующим образом:

{
    "pk":1,
    "model":"book",
    "fields":{
       "name":"BookName",
       "price":"48",

Было бы проще, если бы это было так:

{
    "id":1,
    "name":"BookName",
    "price":"48",

Мне просто интересно, есть ли простой способ сделать это? Данные Json будут отправлены на мобильные устройства, такие как iPhone, клиент не так заинтересован, например, название модели или какие поля есть в таблице.

Аналогичный пост Django: пользовательские опции сериализации? рекомендует, например, использовать шаблон, но значит ли это, что мне нужно создать шаблон для всех моделей?

Еще один вопрос - о полной сериализации, в отличие от встроенных сериализаторов Django, которые возвращают только значение первичного ключа связанных полей. Я знаю, что DjangoFullSerializer может справиться с задачей, но можно ли сделать и то, и другое (настроить формат и полную сериализацию)?

1 Ответ

6 голосов
/ 18 декабря 2011
from django.forms.models import model_to_dict
model_to_dict(intance, fields=[], exclude=[])

С помощью этой функции вы получите ожидаемый результат.

...