? Lengo la Somo


1️⃣ Django na Database

Django ni framework ya Python inayokuja na ORM (Object-Relational Mapper). Hii inamaanisha unaweza kuandika class za Python (zinazoitwa models) ambazo Django huzitafsiri kuwa mabehewa ya data (tables) kwenye database.

Kwa mfano:

class Chakula(models.Model):
    jina = models.CharField(max_length=100)
    bei = models.DecimalField(max_digits=6, decimal_places=2)

Model hiyo inaweza kuwa sawa na jedwali kwenye database lenye safu jina na bei.


 

2️⃣ ORM ni Nini?

ORM (Object-Relational Mapping) ni njia ya kubadilisha data kati ya mfumo wa OOP (kama Python classes) na relational database (kama SQLite au PostgreSQL).

Kwa Maneno Rahisi:

Badala ya kuandika SQL kama:

INSERT INTO menu_item (jina, bei) VALUES ('Wali', 3500);

Ungeandika kwa Django:

MenuItem.objects.create(jina='Wali', bei=3500)

➡️ Django inachukua hiyo code na inaigeuza kuwa SQL kwa nyuma yako.


 

3️⃣ Django hutumia Database gani?

Kwa chaguo la mwanzo (default), Django hutumia:

Lakini unaweza kubadilisha na kutumia:

Haya yote yanawezekana kwa kubadilisha DATABASES katika settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}


Maana ya kila kipengele:

Kwa kifupi:

Django itatumia SQLite kama database, na data zote zitahifadhiwa kwenye faili moja linaloitwa db.sqlite3 ndani ya project.

 

4️⃣ Model ni Nini?

Katika Django:

Model ni class inayowakilisha jedwali katika database.
Kila property ya model ni safu (column) ya jedwali.

Mfano wa model ya orodha ya chakula:

class MenuItem(models.Model):
    jina = models.CharField(max_length=100)
    bei = models.DecimalField(max_digits=6, decimal_places=2)
    muda_unapatikana = models.CharField(max_length=50)

➡️ Hii itatengeneza jedwali la menu_menuitem kwenye database yako.


 

? Muhtasari


 

? Somo Linalofuata:

Kuunda Model ya Menu kwa Ajili ya Hoteli
Tutaunda class ya MenuItem katika app ya menu na kuiunganisha na database yetu kwa kutumia migrations.