SORU
10 Mart 2009, Salı


Nasıl django İLE GRUP olarak sorgulamak için?

Ben manken sorgu

Members.objects.all()

ve söyle verir

Eric, Salesman, X-Shop
Freddie, Manager, X2-Shop
Teddy, Salesman, X2-Shop
Sean, Manager, X2-Shop

Ne ben, ateş Django en iyi yolu bilmek istiyorum benim db, gibi gibi, group_by bir sorgu

Members.objects.all().group_by('designation')

Tabii ki çalışmıyor. Birkaç numara biliyorum yapabiliriz"", django/db/models/query.py ama sadece yama olmadan nasıl olduğunu merak ediyorum.

Teşekkürler

CEVAP
10 Mart 2009, Salı


Toplama yapmak istediğin ve Django 1.1 kullanarak (şu anda alfa-1), aggregation features of the ORM yeni kullanabilirsiniz:

from django.db.models import Count
Members.objects.values('designation').annotate(dcount=Count('designation'))

Bu bir sorgu için benzer sonuçlar

SELECT designation, COUNT(designation) AS dcount
FROM members GROUP BY designation

ve çıkış şeklinde olacaktır

[{'designation': 'Salesman', 'dcount': 2}, 
 {'designation': 'Manager', 'dcount': 2}]

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Air_Fooj

    Air_Fooj

    24 NİSAN 2009
  • mliskIT

    mliskIT

    29 Mart 2012
  • Pocketnow

    Pocketnow

    14 EKİM 2007