picha

Python somo la 59: Kufanya Mahesabu (Aggregations) Katika Django

Katika somo hili tutajifunza jinsi ya kutumia Django ORM kufanya mahesabu mbalimbali kama Sum, Avg, Count, Max, Min, pamoja na kupunguza idadi ya items zinazoonekana kwenye dashboard (LIMIT). Pia tutajifunza namna ya kutengeneza “difference” kati ya thamani kubwa na ndogo bila kubadilisha functions zozote ulizokwisha ziandika.

Utangulizi

Katika kazi za mifumo, mara nyingi tunahitaji kuonyesha takwimu kama jumla ya bei, wastani, au idadi ya vitu. Django inatoa njia rahisi kupitia ORM bila kuandika SQL moja kwa moja. Somo hili litakuonyesha hatua kwa hatua jinsi ya kupata mahesabu hayo kutoka kwenye jedwali la MenuItem.

 

1. Kutumia Django Aggregation Functions

Django inatoa method maalumu kwa ajili ya mahesabu:

Tunaziingiza kwa:

from django.db.models import Avg, Sum, Count, Max, Min

2. Kupata Mahesabu Kutoka Kwenye Model

Mfano tukitumia model yako:

MenuItem.objects.aggregate(Sum('bei'))

Lakini matokeo huja kama dictionary:

{'bei__sum': 45000}

Kwa hiyo tunachukua thamani moja kwa moja:

jumla = MenuItem.objects.aggregate(Sum('bei'))['bei__sum']

Vivyo hivyo kwa mahesabu mengine:

wastani = MenuItem.objects.aggregate(Avg('bei'))['bei__avg']
idadi = MenuItem.objects.aggregate(Count('id'))['id__count']
bei_kubwa = MenuItem.objects.aggregate(Max('bei'))['bei__max']
bei_ndogo = MenuItem.objects.aggregate(Min('bei'))['bei__min']

3. Kutengeneza Difference (Tofauti ya Bei Kubwa – Bei Ndogo)

Kwa kuwa baadhi ya data inaweza kuwa tupu (None), tunalinda kwa kutumia or 0:

tofauti = (bei_kubwa or 0) - (bei_ndogo or 0)

4. Kuweka Limit ya Items (LIMIT kama SQL)

Kama tunataka kuonyesha item 10 tu, tunatumia slicing:

items = MenuItem.objects.all()[:10]

Hii haiathiri data wala pagination, ni limit ya kuonyesha tu.


5. Dashboard View Kamili Bila Kugusa Methods Zako Zingine

Hii ndiyo view ambayo unaweza kuitumia bila kubomoa code zako zilizopo:

...

Jiunge nasi WhatsApp kupata update zetu

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 2025-11-26 Topic: Python Main: ICT File: Download PDF Views 261

Share On:

Facebook WhatsApp
Sponsored links
👉1 Kitau cha Fiqh    👉2 Dua za Mitume na Manabii    👉3 Sira ya Mtume Muhammad (s.a.w)    👉4 Tafasiri ya Riyadh Swalihina    👉5 web hosting    👉6 Simulizi za Hadithi Audio   

Post zinazofanana:

Python somo la 54: Jinsi ya Kusoma Data Kutoka Database kwenye Django

Katika somo hili tutajifunza namna ya kusoma data kutoka kwenye database kupitia Django ORM, jinsi ya kuzipeleka kwenye view, na jinsi ya kuzionyesha kwenye HTML template.

Soma Zaidi...
Python somo la 49: Jinsi ya ku host project ya Django

Katika somo hili utakwenda kujifunza jinsi ya ku host website ya Django. Hapa tutakwenda kutuma plaform ya pythonanywhere.com.

Soma Zaidi...
Python somo la 27: polymorphism kwneye python

Katika somo hili utajifunza maana ya polymorphism na sheria za uandishi wake

Soma Zaidi...
Python somo la 50: database kwneye django

Katika somo hili utakwenda kujifunza vipi django inaweza kuwasiliana na database, utajifunza kuusu orm na model

Soma Zaidi...
Python somo la 34: Kutumia html kwneye python

Katika somo hili utakwend akujifunz ajinsi ya kutumia html kwneye python

Soma Zaidi...
Python seomo la 55: Kutengeneza Simple Admin Dashboard ya CRUD

Katika somo hili tutajifunza jinsi ya kuunda dashboard rahisi ndani ya Django ambayo itaruhusu mtumiaji kuongeza, kusoma, kuhariri na kufuta taarifa za MenuItem bila kutumia Django built-in admin, bali kwa kutumia HTML templates na views tulizotengeneza sisi wenyewe.

Soma Zaidi...
Python somo la 52: Kutengeneza table na kufanya Migrations Katika Django

Katika somo hili tutajifunza jinsi Django hutumia migrations kuunda na kubadilisha tables kwenye database kulingana na models tunazoandika. Tutapitia maana ya migration, hatua za kuitumia, umuhimu wake, misingi ya makemigrations na migrate, pamoja na mfano halisi kutoka kwenye project yetu ya pybongo (app: menu).

Soma Zaidi...
Python somo la 17: Jinsi ya kutumia user input

Katika somo hili uatkwenda kujifunz anamna ambavyo mtu anaweza kuingiza input kwneye system

Soma Zaidi...
Python somo la 47: Jinsi ya kupokea na kuchakata fomu

Katika somo hili utakwend akujifunza jinsi ya kupokea na kuchakata fomu

Soma Zaidi...
PYTHON somo la 12: assignment operator, logical operator, identity oeprator na membership operator

Katika somo hili utakwenda kujfunza operator nyingine kama assignment operator logical, identity operator na membership operator.

Soma Zaidi...