Skip to content
Snippets Groups Projects
Commit 8db9e929 authored by ynerant's avatar ynerant
Browse files

Sqlite does not support order by in subqueries

parent 3e42f4ff
No related branches found
No related tags found
1 merge request!107Beta
Pipeline #8597 passed with stages
in 12 minutes and 44 seconds
...@@ -51,7 +51,10 @@ class UserViewSet(ReadProtectedModelViewSet): ...@@ -51,7 +51,10 @@ class UserViewSet(ReadProtectedModelViewSet):
filterset_fields = ['id', 'username', 'first_name', 'last_name', 'email', 'is_superuser', 'is_staff', 'is_active', ] filterset_fields = ['id', 'username', 'first_name', 'last_name', 'email', 'is_superuser', 'is_staff', 'is_active', ]
def get_queryset(self): def get_queryset(self):
queryset = super().get_queryset().order_by("username") queryset = super().get_queryset()
# Sqlite doesn't support ORDER BY in subqueries
queryset = queryset.order_by("username") \
if settings.DATABASES[queryset.db]["ENGINE"] == 'django.db.backends.postgresql' else queryset
if "search" in self.request.GET: if "search" in self.request.GET:
pattern = self.request.GET["search"] pattern = self.request.GET["search"]
...@@ -87,6 +90,9 @@ class UserViewSet(ReadProtectedModelViewSet): ...@@ -87,6 +90,9 @@ class UserViewSet(ReadProtectedModelViewSet):
), ),
all=True) all=True)
queryset = queryset if settings.DATABASES[queryset.db]["ENGINE"] == 'django.db.backends.postgresql' \
else queryset.order_by("username")
return queryset return queryset
......
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay # Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
from django.conf import settings
from django.db.models import Q from django.db.models import Q
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
...@@ -117,6 +117,9 @@ class ConsumerViewSet(ReadOnlyProtectedModelViewSet): ...@@ -117,6 +117,9 @@ class ConsumerViewSet(ReadOnlyProtectedModelViewSet):
""" """
queryset = super().get_queryset() queryset = super().get_queryset()
# Sqlite doesn't support ORDER BY in subqueries
queryset = queryset.order_by("username") \
if settings.DATABASES[queryset.db]["ENGINE"] == 'django.db.backends.postgresql' else queryset
alias = self.request.query_params.get("alias", ".*") alias = self.request.query_params.get("alias", ".*")
queryset = queryset.prefetch_related('note') queryset = queryset.prefetch_related('note')
...@@ -137,7 +140,7 @@ class ConsumerViewSet(ReadOnlyProtectedModelViewSet): ...@@ -137,7 +140,7 @@ class ConsumerViewSet(ReadOnlyProtectedModelViewSet):
), ),
all=True) all=True)
return queryset.order_by('name').distinct() return queryset.distinct()
class TemplateCategoryViewSet(ReadProtectedModelViewSet): class TemplateCategoryViewSet(ReadProtectedModelViewSet):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment