prepopulated_fields = {'slug': ('title',)}

|
prepopulated_fields = {'slug': ('title',)}
|
bet | 14/17 | Sana | 27.12.2023 | Hajmi | 1,22 Mb. | | #128650 |
Bog'liq MBBTprepopulated_fields = {'slug': ('title',)}
Agar True bo'lsa, maydon ASCII harflariga qo'shimcha ravishda Unicode harflarini oladi. Odatiy bo'lib, False.
Class SmallAutoField(**variantlar)
Faqat ma'lum (ma'lumotlar bazasiga bog'liq) chegaradagi qiymatlarga ruxsat beradi. 1dan32767gacha bo'lgan qiymatlar Django tomonidan qo'llab-quvvatlanadigan barcha ma'lumotlar bazalarida xavfsizdir.
Class SmallIntegerField(**parametrlar )
faqat ma'lum bir (ma'lumotlar bazasiga bog'liq) oraliqda qiymatlarni qabul qiladi. -32768 dan 32767 gacha bo'lgan qiymatlar Django tomonidan qo'llab-quvvatlanadigan barcha ma'lumotlar bazalarida xavfsizdir.
ClassTimeField(auto_now_now = False, auto_now_add = False, * * parametrlar )
Python datetime-da taqdim etilgan vaqt.
ClassURLField(max_length_length = 200, * * parametrlari )
Ushbu maydon uchun standart shakl vidjeti URLInput faylidirURLInput.
max_length maydonga kiritilgan Internet-manzilning maksimal uzunligini ko'rsatadi. Standart qiymat 200.
Class UUIDField(**Options )
Universal unique identifikatorlarni saqlash maydoni. Python sinfidan foydalanadi . PostgreSQL da foydalanilganda UUID uuidтипеma'lumotlar turi, aks holda char(32) faylida saqlanadi.
Universal unique identifikatorlar AutoFieldfor primary_key ga yaxshi alternativAutoFieldfor primary_key. Ma'lumotlar bazasi siz uchun UUID yaratmaydi, shuning uchun default dan foydalanish tavsiya etiladi:
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
Django freymvorkida modellardan foydalanish
Ushbu qo’llanma HYPERLINK uchun modellarni qanday aniqlash mumkinligi ko'rsatilganLocalLibrary. U model nima ekanligini, qanday e'lon qilinishini va ba'zi asosiy maydon turlarini tushuntiradi. Shuningdek, u model ma'lumotlariga kirishning ba'zi asosiy usullarini qisqacha ko'rsatib beradi.
Vazifa: Maydonlarni to'g'ri tanlash orqali o'z modellaringizni loyihalash va yaratishni o'rganing.
Django veb-ilovalari Djangomodellar deb nomlangan Python ob'ektlari orqali ma'lumotlarga kirish va boshqarishPython. Modellar saqlanadigan ma'lumotlarning tuzilishini, shu jumladan maydon turlarini va ehtimol ularning maksimal hajmini, standart qiymatlarni, tanlov ro'yxati parametrlarini, hujjatlar uchun yordam matnini, shakllar uchun yorliq matnini va boshqalarni aniqlaydi. Qaysi ma'lumotlar bazasidan foydalanmoqchi ekanligingizni tanlaganingizdan so'ng, u bilan to'g'ridan - to'g'ri ishlashingiz shart emas-siz shunchaki model tuzilmangizni va kodingizni yozasiz va Django siz uchun ma'lumotlar bazasi bilan bog'liq barcha iflos ishlarni bajaradi.
Ushbu qo’llanma HYPERLINK misolida modellarni qanday aniqlash va ularga kirishni ko'rsatadiLocalLibrary veb- sayti.
Modellarni dasturlashni boshlashdan oldin, qanday ma'lumotlarni saqlashimiz kerakligi va turli ob'ektlar o'rtasidagi munosabatlar haqida o'ylash uchun bir necha daqiqa vaqt sarflash kerak.
Biz kitoblar haqidagi ma'lumotlarni (sarlavha, rezyume, muallif, kitob yozilgan til, toifa, ISBN) saqlashimiz kerakligini va bizda bir nechta misollar bo'lishi mumkinligini bilamiz (noyob global identifikator, mavjudlik holati va boshqalar bilan). Biz muallif haqida ularning ismidan ko'ra ko'proq ma'lumot saqlashimiz kerak bo'lishi mumkin va bir xil yoki o'xshash ismlarga ega bo'lgan bir nechta mualliflar bo'lishi mumkin. Biz kitobning nomi, muallifi, yozma tili va toifasi asosida ma'lumotlarni saralashni xohlaymiz.
Modellaringizni loyihalashda har bir "ob'ekt" (tegishli ma'lumotlar guruhi) uchun alohida modellarga ega bo'lish mantiqan to'g'ri keladi. Bunday holda, kitoblar, kitoblarning nusxalari va mualliflar aniq ob'ektlardir.
Shuningdek, siz veb-saytning o'zida tanlovni qattiq kodlash o'rniga tanlov ro'yxati parametrlarini (masalan, ochiladigan variantlar ro'yxati kabi) taqdim etish uchun modellardan foydalanishingiz mumkin - bu barcha variantlar oldindan noma'lum bo'lganda yoki o'zgarishi mumkin bo'lganda tavsiya etiladi. Bu holda aniq model nomzodlariga kitob janri (masalan, "ilmiy fantastika", "frantsuz she'riyati" va boshqalar) va til (ingliz, frantsuz, yapon) kiradi.
Modellarimiz va maydonlarimiz to'g'risida qaror qabul qilganimizdan so'ng, munosabatlar haqida o'ylashimiz kerak. Django sizga munosabatlarni birdan bittaga (OneToOneField), birdan ko'pga (ForeignKey) va ko'pdan ko'pga (ManyToManyField) aniqlashga imkon beradi.
Quyidagi UML assotsiatsiyasi diagrammasi bu holda biz aniqlagan modellarni (blok shaklida) ko'rsatadi. Yuqorida bo'lgani kabi, biz kitob uchun modellarni (kitob haqida umumiy ma'lumot), kitobning nusxasini (tizimda mavjud bo'lgan kitobning o'ziga xos jismoniy nusxalari holati) va muallifni yaratdik.Shuningdek, biz administrator interfeysi orqali qiymatlarni yaratish / tanlash uchun janr uchun model yaratishga qaror qildik. Biz bookinstance uchun modelga ega bo'lmaslikka qaror BookInstanceqildik: status - biz qiymatlarni (LOAN_STATUS) qattiq kodladik, chunki biz ularning o'zgarishini kutmaymiz. Maydonlarning har birida siz model nomini, maydon nomlari va turlarini, shuningdek ularni qaytarish usullari va turlarini ko'rishingiz mumkin.
Diagrammada modellar, shu jumladan ularning omillari o'rtasidagi bog'liqlik ham ko'rsatilgan множители. Omillar diagrammadagi raqamlar bo'lib, har bir modelning ushbu bog'lanishda mavjud bo'lishi mumkin bo'lgan minimal va maksimal birliklarini ko'rsatadi. Masalan, qutilar orasidagi bog'lovchi chiziq kitob va janr bir-biriga bog'liqligini ko'rsatadi. Janr modeliga yaqin raqamlar shuni ko'rsatadiki, kitob bir yoki bir nechta janrga ega bo'lishi mumkin (xohlaganingizcha) va kitob modeli yonidagi satrning boshqa uchidagi raqamlar janrda nol yoki undan ko'p bog'langan kitoblar bo'lishi mumkinligini ko'rsatadi.
|
| |