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.
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.
Django inatoa method maalumu kwa ajili ya mahesabu:
Sum() — kupata jumla ya data fulani
Avg() — kupata wastani
Count() — kuhesabu idadi
Max() — kupata thamani kubwa
Min() — kupata thamani ndogo
Tunaziingiza kwa:
from django.db.models import Avg, Sum, Count, Max, Min
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']
Kwa kuwa baadhi ya data inaweza kuwa tupu (None), tunalinda kwa kutumia or 0:
tofauti = (bei_kubwa or 0) - (bei_ndogo or 0)
Kama tunataka kuonyesha item 10 tu, tunatumia slicing:
items = MenuItem.objects.all()[:10]
Hii haiathiri data wala pagination, ni limit ya kuonyesha tu.
Hii ndiyo view ambayo unaweza kuitumia bila kubomoa code zako zilizopo:
...Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Share On:
Katika somo hili utakwend akujifunz akuhusu nadharia ya data abstraction na kazi zake kwenye OOP
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kushughulika na faili, kama ku upload faili kwenye django.
Soma Zaidi...Katika somo hili utakwend akujifunz amaana ya module, kazi zake, aina zake na jinsi ya kuandika modile
Soma Zaidi...Katika somo hili uatkwenda kujifunz anamna ambavyo mtu anaweza kuingiza input kwneye system
Soma Zaidi...Katika somo hili utajifunz ajinsi ya kutengeneza folda, faili na kuweka data kwneye faili
Soma Zaidi...Katika somo ili utajifunza hatuwa kwa hatuwa za ku install Django, kutengeneza project na kutengeneza app
Soma Zaidi...Katika somo hili tunakwenda kujifunza matumizi ya break na continue kwenye loop
Soma Zaidi...Somo hili linazungumzia hatua ya kuunda navigation menu na kutumia template inheritance kwa njia ya kitaalamu katika Django.
Soma Zaidi...Katika somo hili tunakwenda kujifunza aina nyingine za data ambazo hutumika kwenye python.
Soma Zaidi...Katika soo hili utakwenda kujifunza jinsi ya kubaduli aina moja ya data kwena aina nyingine. Kwa mfano unaweza kubadili namba kuwa string ama kubadili string kuwa nanda ama kubadili float kuwa int.
Soma Zaidi...