فهرست سرفصل‌های Django
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) ساخت محیط مجازی (Create Virtual Environment) نصب (Install Django) ساخت پروژه (Create Project) ساخت اپ (Create App) ویوها (Views) آدرس ها (URLs) قالب ها (Templates) مدل ها (Models) افزودن داده (Insert Data) به روزرسانی داده (Update Data) حذف داده (Delete Data) به روزرسانی مدل (Update Model) آماده سازی قالب و ویو (Prep Template and View) افزودن لینک به جزئیات (Add Link to Details) افزودن قالب مادر (Add Master Template) افزودن صفحه ایندکس اصلی (Add Main Index Page) قالب 404 (404 Template) افزودن ویوی تست (Add Test View) پنل مدیریت (Admin) ساخت کاربر (Create User) افزودن مدل ها (Include Models) تنظیم List Display (Set List Display) به روزرسانی اعضا (Update Members) افزودن اعضا (Add Members) حذف اعضا (Delete Members) متغیرها (Variables) تگ ها (Tags) شرط if/else (If Else) حلقه for (For Loop) کامنت (Comment) include (Include) معرفی QuerySet (QuerySet Introduction) متد get (QuerySet Get) فیلتر (QuerySet Filter) مرتب سازی (QuerySet Order By) افزودن فایل های استاتیک (Add Static Files) نصب WhiteNoise (Install WhiteNoise) جمع آوری فایل های استاتیک (Collect Static Files) افزودن فایل های استاتیک سراسری (Add Global Static Files) افزودن استایل به پروژه (Add Styles to the Project) مقدمه (PostgreSQL Intro) ساخت حساب AWS (Create AWS Account) ساخت دیتابیس در RDS (Create Database in RDS) اتصال به دیتابیس (Connect to Database) افزودن اعضا (Add Members) Elastic Beanstalk (EB) ساخت requirements.txt (Create requirements.txt) ساخت django.config (Create django.config) ساخت فایل zip (Create .zip File) استقرار با EB (Deploy with EB) به روزرسانی پروژه (Update Project) افزودن فیلد slug (Add Slug Field) افزودن Bootstrap 5 (Add Bootstrap 5) مرجع تگ های قالب (Template Tag Reference) مرجع فیلترها (Filter Reference) مرجع Field Lookups (Field lookups Reference) کامپایلر (Compiler) تمرین ها (Exercises) آزمون (Quiz) سرفصل (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Django

Django — مدل ها (Models)

آخرین بروزرسانی: 1404/08/20

مدل ها (Models)

«مدل (Model)» یعنی جدول دیتابیس. مدل ها داده واقعی نگه می دارند. با مدل، بدون دست زدن به فایل ها، داده می سازیم و می خوانیم؛ مثل دفتر نمره کلاس که همیشه مرتب است.

مدل در جنگو چیست؟

مدل یک کلاس پایتون است. هر مدل تبدیل به یک جدول می شود. هر ویژگیِ کلاس، تبدیل به ستون می شود.

ساخت جدول (Create Model)

فایل members/models.py را باز کن و مدل Member را بساز.

from django.db import models

class Member(models.Model):
  firstname = models.CharField(max_length=255)
  lastname = models.CharField(max_length=255)

مشاهده در ادیتور

نکته: CharField یعنی متن کوتاه. با max_length سقف طول را می دهیم.

ساخت فایل مایگریشن

«مایگریشن (Migration)» مجموعه تغییرات دیتابیس است. مثل صورت جلسه رسمی تغییرات.

python manage.py makemigrations members

مشاهده در ادیتور

فایل مایگریشن در پوشه members/migrations ساخته می شود.

# Generated by Django 5.1.7 on 2025-03-20 11:39
from django.db import migrations, models

class Migration(migrations.Migration):
  initial = True
  dependencies = [
  ]
  operations = [
    migrations.CreateModel(
      name='Member',
      fields=[
        ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
        ('firstname', models.CharField(max_length=255)),
        ('lastname', models.CharField(max_length=255)),
      ],
    ),
  ]

مشاهده در ادیتور

نکته: فیلد id خودکار ساخته می شود. شمارنده افزایشی است.

اجرای مایگریشن ها

برای اعمال تغییرات روی دیتابیس، این دستور را اجرا کن.

python manage.py migrate

مشاهده در ادیتور

دیدن SQL تولیدشده

می خواهی SQL دقیق را ببینی؟ از دستور زیر استفاده کن.

python manage.py sqlmigrate members 0001

مشاهده در ادیتور

حالا جدول Member در دیتابیس SQLite پروژه ساخته شده است.

گام های پیشنهادی بعدی

  1. افزودن داده با درج داده در مدل.
  2. نمایش داده در ویوها و قالب.

جمع بندی سریع

  • مدل ها جدول دیتابیس هستند.
  • هر فیلد، یک ستون می شود.
  • با makemigrations تغییرات ثبت می شود.
  • با migrate روی دیتابیس اعمال می شود.
  • مدل های جنگو پایه مدیریت داده اند.

برای قالب ها به قالب ها سر بزن. برای مسیردهی، آدرس ها را ببین.