Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Melaksanakan GROUP BY Queries dalam Django?

Bagaimana untuk Melaksanakan GROUP BY Queries dalam Django?

Patricia Arquette
Lepaskan: 2024-12-11 02:22:09
asal
606 orang telah melayarinya

How to Perform GROUP BY Queries in Django?

Bagaimana untuk Mencapai Kumpulan Melalui Pertanyaan dalam Django?

Dalam Django, untuk melaksanakan kumpulan dengan pertanyaan pada model, seseorang boleh menggunakan ciri pengagregatan ORM. Ini dicapai dengan menggunakan kaedah values() dan annotate().

Pertimbangkan contoh berikut:

from django.db.models import Count
result = (Members.objects
    .values('designation')
    .annotate(dcount=Count('designation'))
    .order_by()
)
Salin selepas log masuk

Kod ini diterjemahkan kepada pertanyaan SQL yang serupa dengan:

SELECT designation, COUNT(designation) AS dcount
FROM members GROUP BY designation
Salin selepas log masuk

Hasil pertanyaan akan menjadi senarai objek kamus, setiap satu mewakili kumpulan. Contohnya:

[{'designation': 'Salesman', 'dcount': 2}, 
 {'designation': 'Manager', 'dcount': 2}]
Salin selepas log masuk

Untuk memasukkan berbilang medan dalam hasil carian, cuma tambahkannya sebagai argumen kepada values():

    .values('designation', 'first_name', 'last_name')
Salin selepas log masuk

Rujukan:

  • Dokumentasi Django: values(), annotate(), dan Kira
  • Dokumentasi Django: Pengagregatan, terutamanya bahagian Interaksi dengan pesanan lalai atau order_by()

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan GROUP BY Queries dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan