Maison > base de données > tutoriel mysql > Comment convertir un CharField en un entier dans les requêtes Django ORM ?

Comment convertir un CharField en un entier dans les requêtes Django ORM ?

DDD
Libérer: 2024-11-02 17:55:29
original
834 Les gens l'ont consulté

How to Cast a CharField to an Integer in Django ORM Queries?

Casting Char en Integer dans les requêtes Django ORM

Lors d'une requête avec Django Object-Relational Mapper (ORM), il peut être nécessaire de convertir un champ de caractère (CharField) à un entier. Ceci peut être réalisé en utilisant la fonction Cast, introduite dans Django 1.10.

Dans la requête donnée :

<code class="sql">select student_id from students where student_id like "%97318%" order by CAST(student_id as UNSIGNED) desc;</code>
Copier après la connexion

Le champ student_id, étant un CharField, doit être converti en un entier ( INT) pour le tri. Pour effectuer cette opération dans Django ORM, utilisez la syntaxe suivante :

<code class="python">from django.db.models import Cast
from django.db.models.functions import Cast

students.objects.annotate(
    student_id_int=Cast('student_id', 'INT')  # Casting CharField to integer
).order_by('-student_id_int')</code>
Copier après la connexion

La fonction Cast prend deux arguments :

  • Le nom du champ à caster.
  • Le type de données vers lequel convertir le champ.

Dans cet exemple, nous convertissons le champ student_id en INT, le convertissant effectivement en un entier pour l'opération de tri. Cela permet un tri précis des résultats à l'aide de la clause order_by.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal