Как я могу сортировать результаты работы Django Rest Framework?

Я пытался сделать это с помощью dynamic-rest и не смог заставить его работать, теперь я пытаюсь использовать встроенный метод упорядочивания в django rest-framework, но все еще не могу заставить его работать.

У меня есть ощущение, что это метод, который я использую для получения этих результатов из базы данных, но я не знаю другого способа, так что если кто-нибудь знает, как заставить это работать, любым способом, пожалуйста, дайте мне знать, спасибо!

models.py

class Notifications(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    date = models.DateTimeField('date transacted')
    read = models.BooleanField(default=False)
    message = models.CharField(max_length=300)

views.py

class getnotifications(viewsets.ModelViewSet):
    # Database model
    queryset = User.objects.all()
    # Serializer - this performs the actions on the queried database entry
    serializer_class = NotificationsSerializer
    # What field in database model will be used to search
    lookup_field = 'username'
    filter_backends = [filters.OrderingFilter]
    ordering_fields = ['notifications']
    ordering = ['notifications']

Я пробовал устанавливать поля заказа/заказа в notifications_set.pk, это тоже не работает.

serializers.py

class NotificationsSerializer(serializers.ModelSerializer):
    notifications_set = ListNotificationsSerializer(many=True)
    class Meta:
        model = User
        fields = ['notifications_set']

class ListNotificationsSerializer(serializers.ModelSerializer):
    class Meta:
        model=Notifications
        name='notifications_set'
        fields=['pk','date','read','message']

Это не работает при заданном по умолчанию упорядочивании (с флагом упорядочивания в представлении), или с полем ?ordering= в GET-запросе

вы пытаетесь заказать по этому полю уведомления, это поле не существует в вашей модели полей, вы должны использовать одно уже существующее

и вы можете заказать также, используя ORM, вот так:

User.objects.all().order_by('field_name')
Вернуться на верх