Maison >base de données >tutoriel mysql >Comment trier les valeurs NULL en dernier dans les requêtes Django avec PostgreSQL ?

Comment trier les valeurs NULL en dernier dans les requêtes Django avec PostgreSQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-29 14:19:18389parcourir

How to Sort NULL Values Last in Django Queries with PostgreSQL?

Comment ajouter "NULLS LAST" à une requête Django

Lors du tri des données dans PostgreSQL, il est courant d'utiliser le "NULLS LAST" pour garantir que les valeurs nulles sont triées à la fin des résultats. Cette option n'est pas directement prise en charge dans l'API de requête de Django.

Solution

Le paramètre nulls_last=True peut être utilisé avec Expression.desc() pour contrôler l'ordre des valeurs null valeurs. Voici un exemple :

from django.db.models import F

MyModel.objects.all().order_by(F('price').desc(nulls_last=True))

Cette syntaxe est disponible depuis Django 1.11.

Informations supplémentaires

La documentation recommande d'utiliser Expression.asc( ) ou Expression.desc() avec le paramètre nulls_last approprié au lieu de extra() avec l'ancien order_by syntaxe.

Pour Django 3.1 et supérieur, reportez-vous à la documentation officielle pour plus d'informations :

https://docs.djangoproject.com/en/3.1/ref/models/expressions/# utiliser-f-pour-trier-null-values

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn