Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menghantar CharField kepada Integer dalam Pertanyaan ORM Django?

Bagaimana untuk Menghantar CharField kepada Integer dalam Pertanyaan ORM Django?

DDD
Lepaskan: 2024-11-02 17:55:29
asal
898 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!

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