Задать вопрос
@spkar

Отображение свойства data в json (Django)?

Добрый день! Подскажите, как сделать это?
Мне нужно получить массив связного списка из 'data'.
У меня в JSON выводится 'links', 'data', 'meta'.
Если я использую serializer.data, то я получаю значения элемента data вместе c ним.

{
    "data": [
        {
            "type": "Point",
            "id": "48",
            "attributes": {
                "title": "Бургерная",
                "description": "ходог",
                "x": "123",
                "y": "321"
            },
            "relationships": {
                "icon": {
                    "data": {
                        "type": "Icon",
                        "id": "5"
                    }
                }
            }
        },...........


serialize.py
class PointSerializer(serializers.ModelSerializer):
    class Meta:
        model = Point
        fields = ["title", "description", "x", "y", "icon"]


views.py
class PointViewSet(viewsets.ModelViewSet):
    queryset = Point.objects.all()
    serializer_class = PointSerializer
    permission_classes = [permissions.AllowAny]

    def list(self, request, *args, **kwargs):
        queryset = Point.objects.all()
        description = self.request.query_params.get('description', None)
        if description:
            queryset = queryset.filter(description__icontains=description)
        serializer = PointSerializer(queryset, many=True)
        print(serializer.data)
        return Response(serializer.data)


urls.py
router = routers.DefaultRouter()
router.register('icons', views.IconViewSet, base_name='iconRouter')
router.register('points', views.PointViewSet, base_name='pointRouter')

urlpatterns = [
                  path('api/', include(router.urls)),
                  url(r'^$', views.test),
              ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@KhD
Ничего непонятно!!!!!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы