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 utajifunz ajinsi ya kutengeneza folda, faili na kuweka data kwneye faili
Soma Zaidi...Katika somo hili utakwend akujifunza jinsi ya kuandika function, kuweka parameter na kuitumia function
Soma Zaidi...Katika somo hili utakwend akujifunza ktengeneza model kwa ajili ya database table ya menu yetu.
Soma Zaidi...Katika somo hili utajifunza jisni ya kujuwa aina ya data iliyotumika kwenye python
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kutumia html kwneye python
Soma Zaidi...Katika somo hili utakwend akujifunza maana ya object, na sheria za kuandika object.
Soma Zaidi...Katika somo hili tutakwend akujifunza jinsi ya kutumia while loop kwneye python
Soma Zaidi...Hapa utakwenda kujifunz amaana ya package, aina zake na jinsi ya kuandika package.
Soma Zaidi...Katika maeneo ya development, tunahitaji kutuma email mara nyingi kwa madhumuni ya: Kujaribu mfumo wa OTP Password reset System notifications Activation codes Lakini mara nyingi hatutaki emails ziondoke kwenda kwa watu halisi wakati bado tupo kwenye majaribio.
Soma Zaidi...Katika somo hili utakwenda kujifunz amaana ya inheritance na sheria za kuiandika inheritance.
Soma Zaidi...