Django ORMda har bitta database table alohida class sifatida yoziladi va har bitta class(table) model deb ataladi(ko'pchilik boshqa ORMlardagidek).
Xuddi boshqa ORMlardagidek har bir column(field) class attribute bo'ladi.
Django ORMda ko'plab built-in field typelar bor. Xuddi databasedagi VARCHAR, INT, ... kabi.
Model classda tablening o'zi yaratiladi. Siz tepada yozgandek ma'lumot to'g'ridan to'g'ri kiritilmaydi. Masalan:
class Task(models.Model):
name = models.CharField(max_length=60)
description = models.TextField()
status = models.BooleanField(default=False)Demak, biz Task nomli table yaratib, unga 3 ta ustun qo'shdik.
Tablega ma'lumot qo'shish esa ModelManager orqali qilinadi. Bu model classga tegishli ma'lumotlarni boshqaruvchi boshqa "nazoratchi" class.
ma'lumot olish:
task = Task.objects.get(id=2)ma'lumot kiritish:
Task.objects.create(
name="Hello",
desc="Demo",
status=True,
)Yoki
task = Task(
name=...
...)
task.save()Payqagan bo'lsangiz, objects bu yerda manager. Ya'ni u class objectlarini boshqarayapti.