Aşağıdakilere benzer bir sorguya sahibim:Django SUM Sorgulaması?
SELECT SUM(ISNULL(table.name)) FROM table
Bu SUM
, Django'da bir QuerySet'e nasıl dönüştürülür? (yani xyz
hangi işlemi MyModel.objects.xyz()
gibi bir şeye çevirir?)
Aşağıdakilere benzer bir sorguya sahibim:Django SUM Sorgulaması?
SELECT SUM(ISNULL(table.name)) FROM table
Bu SUM
, Django'da bir QuerySet'e nasıl dönüştürülür? (yani xyz
hangi işlemi MyModel.objects.xyz()
gibi bir şeye çevirir?)
Güncelleme: Aşağıdaki orijinal sorgunun ISNULL yönünü içermektedir:
from django.db.models import Sum
ModelName.objects.filter(field_name__isnull=True).aggregate(Sum('field_name'))
Sen Sum toplama fonksiyonu arıyoruz, şöyle ki çalışır:
ModelName.objects.aggregate(Sum('field_name'))
Bkz: gelişmiş bir usecase varsa https://docs.djangoproject.com/en/dev/ref/models/querysets/#sum
Ah teşekkürler. Peki ya ISNULL? – Mehrdad
Sanırım bunu sorgunuzda filtre kullanarak yapabilirsiniz. Bunu test etmedim, ama bunun gibi bir şey işe yarayacak: 'ModelName.objects.filter (field_name__isnull = True) .aggregate (Toplam ('field_name'))' –
emin şey :) Güncellemeyi yanıtıma ekledim. –
Eğer condit gerekebilir rasyonel ifadeler https://docs.djangoproject.com/en/1.11/ref/models/conditional-expressions/#conditional-aggregation – Pykler