Как изменить API django-rest-framework

У меня есть API. Я хочу изменить его так, чтобы он выглядел так:

[
    cats: [{
            "id": 1,
            "description": "I lost my mind",
            "petName": "kappies",
            "phone": 56765665464
        },
        {
            "id": 2,
            "description": "I lost my dog somewhere",
            "petName": "Doggy",
            "phone": 38093716438
        }
    ],
    dogs: [{
            "id": 3,
            "description": "",
            "petName": "",
            "phone": 0
        }, 
        {
            "id": 3,
            "description": "",
            "petName": "",
            "phone": 0
        }
    ]
]

Кто знает, как это сделать?

Нужно ли мне отдельно создавать API для кошек и собак?

извините за чашки. сериализаторы

Добро пожаловать в Stackoverflow. Если вы нашли какой-либо из ответов полезным, вы должны проголосовать за него и выбрать правильный ответ :)

Gal Silberman 25.03.2018 14:22
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Допустим, в вашей модели есть поле type.

Затем вы можете сделать что-то подобное в своем view.py:

posts = models.Post.objects.all()
posts_serializer = serializers.PostSerializer(posts, many=True)

output = {}
for post in posts_serializer.data:
    type = output.get(post['type'], [])
    output[type].append(post)

return Response(output)

Вам следует добавить больше кода и того, что вы пытались сделать в следующий раз, когда задаете вопрос.

Удачи

Другие вопросы по теме