Джанго: Сериализация моделей во вложенной структуре данных? - PullRequest
2 голосов
/ 04 мая 2010

Легко сериализовать модели в итерируемом:

def _toJSON(models):
    return serializers.serialize("json", models, ensure_ascii=False)

Как насчет того, когда у меня есть что-то более сложное:

[
(Model_A_1, [Model_B_1, Model_B_2, Model_B_3]),
(Model_A_2, [Model_B_3, Model_B_4, Model_B_5, Model_B_59]),
(Model_A_3, [Model_B_6, Model_B_7]),
]

Я пытался сериализовать каждую модель, когда она была добавлена ​​вструктуры, затем сериализовав все это с simplejson.dumps, но это заставляет JSON, определяющий каждую модель, экранироваться.

Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 06 августа 2010

Я не уверен, является ли мое предложение «лучшим способом», но оно работало для меня в некоторых случаях, когда требовался пользовательский формат json.

Идея состоит в том, чтобы создать шаблон django, который создаст json в нужном вам формате (возможно, пару циклов for). Этот шаблон + conext с вашей структурой моделей должен дать json, что вы ищете.

Конечно, здесь есть некоторые недостатки, которые необходимо упомянуть. Было бы трудно десериализовать такой json в python, это может быть не так быстро, как другие решения и, возможно, другие. Но в случае, если это не проблема для вас, я думаю, что это решение очень удобно и может помочь вам продвинуться вперед с вашим проектом.

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