Oʻzbekiston respublikasi oliy ta’lim,fan va inovatsiya vazirligi




Download 105,45 Kb.
Sana14.12.2023
Hajmi105,45 Kb.
#118214
Bog'liq
mustaqil ta\'lim


OʻZBEKISTON RESPUBLIKASI OLIY TA’LIM,FAN VA INOVATSIYA VAZIRLIGI
MIRZO ULUG‘BEK NOMIDAGI MILLIY UNIVERSITETININIG JIZZAX FILIALI

AMALIY MATEMATIKA FAKULTETI
«KAMPYUTER ILIMLARI VA DASTURLASH» kafedrasi
“Python advance” FANIDAN

MUSTAQIL ISH

Mavzu: Modellarning tashqi ko'rinishini maxsus amaliy vazifaga moslashtirish.
Bajardi: “Axborot xavfsizligi” yoʻnalishi 4-kurs 130-20 guruh
Talabasi: Begimqulov Saidqosim
Tekshirdi: ULASHEV A. N.

Jizzax – 2023


Mavzu: Modellarning tashqi ko'rinishini maxsus amaliy vazifaga moslashtirish
Reja:

  1. Django modellari -

  2. Django modellari tashqi ko’rinishi

Modellar
Model ma'lumotlaringiz haqidagi yagona, aniq ma'lumot manbaidir. U siz saqlayotgan ma'lumotlarning muhim maydonlari va xatti-harakatlarini o'z ichiga oladi. Odatda, har bir model bitta ma'lumotlar bazasi jadvaliga mos keladi.
Asosiylari:
Har bir model quyi sinflarga ega bo'lgan Python sinfidir django.db.models.Model.
Modelning har bir atributi ma'lumotlar bazasi maydonini ifodalaydi.
Bularning barchasi bilan Django sizga avtomatik ravishda yaratilgan ma'lumotlar bazasiga kirish API'sini beradi; so'rovlar qilish- ga qarang .
Tez misol
Ushbu misol modeli va ga Personega bo'lgan a ni belgilaydi :first_namelast_name
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
first_nameva modelninglast_name maydonlaridir . Har bir maydon sinf atributi sifatida belgilanadi va har bir atribut ma'lumotlar bazasi ustuniga mos keladi.
Yuqoridagi Personmodel quyidagi kabi ma'lumotlar bazasi jadvalini yaratadi:
CREATE TABLE myapp_person (
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
);
Ba'zi texnik eslatmalar:
Jadval nomi, myapp_person, ba'zi model metama'lumotlaridan avtomatik ravishda olinadi, lekin uni bekor qilish mumkin. Batafsil ma'lumot uchun Jadval nomlariga qarang .
Maydon idavtomatik ravishda qo'shiladi, ammo bu xatti-harakatni bekor qilish mumkin. Avtomatik asosiy kalit maydonlariga qarang .
Ushbu misoldagi SQL PostgreSQL sintaksisi yordamida formatlangan, ammo shuni ta'kidlash kerakki, Django sozlamalar faylida ko'rsatilgan ma'lumotlar bazasi serveriga moslashtirilgan SQL dan foydalanadi .CREATE TABLE
Modellardan foydalanish ¶
Modellaringizni aniqlaganingizdan so'ng, Djangoga ushbu modellardan foydalanmoqchi ekanligingizni aytishingiz kerak . Buni sozlamalar faylingizni tahrirlash va INSTALLED_APPSo'z ichiga olgan modul nomini qo'shish uchun sozlamani o'zgartirish orqali bajaring models.py.
Misol uchun, agar ilovangiz uchun modellar modulda yashasa myapp.models(skript tomonidan ilova uchun yaratilgan paket tuzilishi ), qisman o'qilishi kerak:manage.py startappINSTALLED_APPS
INSTALLED_APPS = [
#...
'myapp',
#...
]
Yangi ilovalarni qo'shsangiz INSTALLED_APPS, ishga tushirishni unutmang , ixtiyoriy ravishda avval ular uchun migratsiya qiling .manage.py migratemanage.py makemigrations
Maydonlar ¶
Modelning eng muhim qismi va modelning yagona talab qilinadigan qismi - u belgilaydigan ma'lumotlar bazasi maydonlarining ro'yxati. Maydonlar sinf atributlari bilan belgilanadi. , yoki kabi API modellariga zid bo'lgan maydon nomlarini tanlashdan ehtiyot bo'ling .cleansavedelete
Misol:
from django.db import models
class Musician(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
instrument = models.CharField(max_length=100)
class Album(models.Model):
artist = models.ForeignKey(Musician, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
release_date = models.DateField()
num_stars = models.IntegerField()
Maydon turlari ¶
Modelingizdagi har bir maydon tegishli Fieldsinfning namunasi bo'lishi kerak. Django bir nechta narsalarni aniqlash uchun maydon sinfi turlaridan foydalanadi:
Ma'lumotlar bazasiga qanday ma'lumotlarni saqlash kerakligini ko'rsatadigan ustun turi (masalan INTEGER, VARCHAR, , TEXT).
Shakl maydonini ko'rsatishda foydalanish uchun standart HTML vidjeti (masalan , , ).
Download 105,45 Kb.




Download 105,45 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Oʻzbekiston respublikasi oliy ta’lim,fan va inovatsiya vazirligi

Download 105,45 Kb.