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).
Django haitengenezi table moja kwa moja mara tu unapounda model; badala yake hutumia mfumo wa migrations unaosimamia mabadiliko yote ya database. Hii inafanya kazi kuwa salama, rahisi, na isiyohitaji kuandika SQL mwenyewe. Somo hili litakufundisha jinsi migrations zinavyofanya kazi na namna ya kuzitumia kwa usahihi.
Nataka ukumbuke kuwa, kwneye somo lililopita nimekueleza kuwa model ni class ambayo ndio inaeleza structure ama muundo wa table zetu kwneye database. Sasa baada ya kutengeneza structure hiyo ama muundo wa hiyo table, hapa tutajifunza kufanya migration yaani kutengeneza table zenyewe kulingana na model. ni sawa na kusema kuwa tunazifanya model zituletee kitu tunachokitaka.
Migration ni faili maalum linalotengenezwa na Django ili kurekodi na kutekeleza mabadiliko yote unayofanya kwenye model. Hili faili linaelezea Django jinsi ya:
Kuunda table mpya
Kuongeza field mpya kwenye table
Kubadilisha field
Kufuta field au table
Kwa kifupi:
Migration = Maelezo ya mabadiliko ya database yanayotokana na models.
Huhifadhi historia ya mabadiliko ya database
Huondoa haja ya kuandika SQL manually
Huleta usawa kati ya code na database
Huwawezesha developers wengi kufanya kazi kwenye project moja bila migongano
Django hutumia hatua mbili muhimu:
Baada ya kuunda au kubadilisha model, andika:
python manage.py makemigrations
Hii inasoma models zako na kutengeneza faili kama:
menu/migrations/0001_initial.py
Faili hili linaelezea Django kuwa unataka:
Kutengeneza table lenye fields ulizozitaja
Kuandaa structure ya table kwa database
faili hili utalikuta kwneye folda linaloitwa migrations. na kila tutakapofanya migration basi faili ligine litatengenezwa.
Baada ya kukamilisha hatua ya kwanza, sasa unaitekeleza kwa:
python manage.py migrate
Amri hii:
Huchukua migrations zote
Huzitekeleza katika database halisi (sqlite, mysql, postgresql n.k.)
Hutengeneza au kusasisha tables
Model tuliyotengeneza:
from django.db import models
class MenuItem(models.Model):
jina = models.CharField(max_length=100)
maelezo = models.TextField(blank=True)
muda_upatikanaji = models.CharField(max_length=50)
bei = models.DecimalField(max_digits=10, decimal_places=2)
def __str__(self):
return self.jina
Hatua:
python manage.py makemigrations
python manage.py migrate
Matokeo:
Django inaunda table mpya kwenye database inayoitwa menu_menuitem
Ina fields: jina, maelezo, muda_upatikanaji, bei
Hapo utaona mabadiliko kwnye faili la sqlite3 ambalo ndio faili la database. Huko mbeleni tutajifunza kuhusu aina nyingine za database.
...
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Katika somo hili utajifunza kuhusu maana ya python na kazi zake. pia jinsi ya kuandaa kifaa chako kwa ajili ya somo.
Soma Zaidi...Katika somo hili tutajifunza mambo matatu muhimu ya kuboresha admin ya Django: Jinsi ya kubadili header za Django Admin Jinsi ya kuongeza columns zinazojitokeza kwenye admin list Jinsi ya kuweka limit ya rows zinazoonekana kwa kila ukurasa (pagination)
Soma Zaidi...Katika somo hili utakwend akujifunza kuchakata data kwa Kutumia Loops na Conditions katika Django Templates
Soma Zaidi...Katika somo hili utakwenda kujifunza zaidi kuhusu Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kutumia html kwneye python
Soma Zaidi...Katika somo hili utakwend akujifunza ktengeneza model kwa ajili ya database table ya menu yetu.
Soma Zaidi...Katika somo hili tutajifunza: Tofauti kati ya hashing na encryption Jinsi ya kufunga packages muhimu Jinsi ya kufanya hashing kwa maneno ya kawaida (mfano βbongoclassβ) Jinsi ya kufanya encryption na decrypt kutumia Fernet Jinsi Django inahash password kupitia User model Mazoezi ya vitendo
Soma Zaidi...Katika somo hili tutakwend akujifunza kuhusi Jinsi ya Kutumia JavaScript kwenye Fomu za Django
Soma Zaidi...Katika somo hili utakwenda kujifunza aina za data ambazo hutumika kwenye python. hapa utajifunza aina kuu 3 za data.
Soma Zaidi...Katika somo hili utajifunza maana ya encapsulation na sheria za uandishi wake
Soma Zaidi...