Упорядочивание данных после различных
Я различаю данные с помощью sku_id
    queryset = self.filter_queryset(queryset.order_by('sku_id','id').distinct('sku_id'))
Однако этот результат не сортируется по идентификатору,
затем я пытаюсь
    queryset = self.filter_queryset(queryset.order_by('sku_id','id').distinct('sku_id').order_by('id'))
Однако это показывает ошибку
ProgrammingError at /api/myfetch/
SELECT DISTINCT ON expressions must match initial ORDER BY expressions
LINE 1: SELECT COUNT(*) FROM (SELECT DISTINCT ON ("myapp_produc...
Можно ли отсортировать столбец после distinct?
Когда вы используете distinct('sku_id') в Django, это переводится как DISTINCT ON (sku_id) в PostgreSQL. Это похоже на функцию в PostgreSQL, которая требует указывать в ORDER BY тот же столбец, что и в DISTINCT.
В вашем втором запросе вы пытаетесь упорядочить данные по идентификатору, что PostgreSQL не позволяет.
Решение:
queryset = self.filter_queryset(
    queryset.order_by('sku_id', 'id').distinct('sku_id')
).order_by('id')
                    В прошлый раз, когда я проверял, вам нужно было использовать подзапрос, чтобы получить ожидаемое поведение с серверной частью postgres:
from django.db.models import Subquery
your_objects = YourObjectClass.objects.filter(sku_id__in=Subquery(YourObjectClass.objects.distinct('sku_id').values('sku_id'))).order_by('id')
Это должно привести к получению записей с различными sku_id, упорядоченных по возрастанию id.