Apabila menanyakan model Django, anda mungkin menghadapi senario di mana anda perlu melaksanakan kumpulan mengikut operasi . Percubaan untuk menggunakan .group_by() seperti yang anda lakukan dalam SQL mengakibatkan ralat.
Daripada menggunakan .group_by(), Django menyediakan kaedah pengagregatan yang membolehkan anda melakukan pertanyaan kompleks melibatkan kumpulan. Khususnya, Count berguna untuk mengira kejadian medan tertentu.
Untuk mengumpulkan hasil mengikut penetapan dan mengira kejadian, anda akan menggunakan kod berikut:
from django.db.models import Count result = (Members.objects .values('designation') .annotate(dcount=Count('designation')) .order_by() )
Pertanyaan ini serupa dengan pernyataan SQL berikut:
SELECT designation, COUNT(designation) AS dcount FROM members GROUP BY designation
Output Django pertanyaan adalah dalam bentuk:
[{'designation': 'Salesman', 'dcount': 2}, {'designation': 'Manager', 'dcount': 2}]
Atas ialah kandungan terperinci Bagaimanakah Saya Melakukan Kumpulan Mengikut Pertanyaan dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!