Django Rest Framework как отформатировать ответ
Когда сериализурую с помощью родного сериализатора
class NewsListSerializer (serializers.ModelSerializer):
""" Сериализатор Список новостей"""
class Meta:
model = News
fields = ('id', 'title', 'body_text_preview','image', 'created_at')
...
Получаю такой json
{
"next": "http://127.0.0.1:8000/api/v1/news/?limit=100&offset=100",
"results": [
{
"id": 215,
"title": "диллерское соглашение!",
"created_at": [
{
"year": "2020",
}
]
},
....
}
А когда всталяю свой json из словаря:
class CategoryListAPI(APIView):
def get (self, request):
root_nodes = cache_tree_children(ProductCategory.objects.all())
dicts = []
for n in root_nodes:
dicts.append(recursive_node_to_dict(n))
return Response(dicts)
То, получаю такого формата json
[
{
"id": 456,
"name": "Автоаксессуары",
"children": [
{
"id": 3111,
"name": "Жилеты светоотражающие",
}
]
},
...
]
В первом главный блок [] во втором {} Как привести к единому стилю? и на сколько критична разница?
Ответы (1 шт):
Автор решения: Rufat
→ Ссылка
Скорее всего поле created_at имеет связь "Один ко многим".
Но чтобы более точно ответить желательно посмотреть модель News, а также связанные с ней модели.
Разница между [] и {} не критична.