Maison >base de données >tutoriel mysql >Comment trier les enregistrements de base de données avec NULLS LAST dans Django ?

Comment trier les enregistrements de base de données avec NULLS LAST dans Django ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-28 15:27:26689parcourir

How to Sort Database Records with NULLS LAST in Django?

Django : Implémentation du tri "NULLS LAST"

Lors du tri des enregistrements de base de données avec PostgreSQL, il peut être nécessaire de spécifier le comportement de tri de valeurs nulles. PostgreSQL propose l'option "NULLS LAST" pour placer des valeurs nulles à la fin des résultats triés.

Requête avec "NULLS LAST" dans Django

Pour y parvenir dans Django, vous pouvez utiliser les méthodes Expression.asc() ou Expression.desc(). Cependant, l'option "NULLS LAST" n'était pas prise en charge dans les versions de Django antérieures à 1.11.

Solution pour Django 1.11 et versions ultérieures

Pour les versions de Django 1.11 et versions ultérieures, vous peut utiliser le code suivant :

from django.db.models import F

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

Le L'expression F('price').desc(nulls_last=True) trie les prix par ordre décroissant, garantissant que les valeurs nulles apparaissent à la fin.

Référence

Pour plus d'informations :

  • Référence d'expression Django 3.1 : [Django Documentation](https://docs.djangoproject.com/en/3.1/ref/models/expressions/#using-f-to-sort-null-values)
  • Notes de version de Django 1.11 : [Documentation de Django ](https://docs.djangoproject.com/en/dev/releases/1.11/)

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