Bagaimana untuk Menghantar CharField kepada Integer dalam Pertanyaan ORM Django?

DDD
Lepaskan: 2024-11-02 17:55:29
asal
749 orang telah melayarinya

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

Menghantar Char ke Integer dalam Django ORM Pertanyaan

Apabila membuat pertanyaan dengan Django Object-Relational Mapper (ORM), mungkin perlu menghantar medan aksara (CharField) kepada integer. Ini boleh dicapai menggunakan fungsi Cast, yang diperkenalkan dalam Django 1.10.

Dalam pertanyaan yang diberikan:

<code class="sql">select student_id from students where student_id like "%97318%" order by CAST(student_id as UNSIGNED) desc;</code>
Salin selepas log masuk

Medan student_id, sebagai CharField, perlu dihantar ke integer ( INT) untuk menyusun. Untuk melaksanakan operasi ini dalam Django ORM, gunakan sintaks berikut:

<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>
Salin selepas log masuk

Fungsi Cast mengambil dua argumen:

  • Nama medan yang akan dihantar.
  • Jenis data untuk menghantar medan.

Dalam contoh ini, kami menghantar medan student_id ke INT, dengan berkesan menukarnya kepada integer untuk operasi pengisihan. Ini membolehkan pengisihan keputusan yang tepat menggunakan klausa_urutan.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar CharField kepada Integer dalam Pertanyaan ORM Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!