فهرست سرفصل‌های 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 — به روزرسانی مدل (Update Model)

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

به روزرسانی مدل (Update Model)

اینجا «به روزرسانی مدل در جنگو» را یاد می گیریم. «مدل (Model)» یعنی نقشه جدول پایگاه داده. وقتی ساختار عوض می شود، باید «مهاجرت (Migration)» بسازیم تا جدول ها هم به روز شوند.

گام 1: افزودن فیلدهای جدید به مدل

فایل models.py را باز کن و فیلدها را اضافه کن. «فیلد (Field)» یعنی ستون جدول.

from django.db import models

class Member(models.Model):
  firstname = models.CharField(max_length=255)
  lastname = models.CharField(max_length=255)
  phone = models.IntegerField()
  joined_date = models.DateField()

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

گام 2: ساخت Migration برای تغییرات

برای ثبت تغییرات مدل، دستور مهاجرت را اجرا کن. «Migration» فایل دستور تغییرات دیتابیس است.

python manage.py makemigrations members

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

گام 3: رفع خطای فیلد غیرقابل تهی

اگر رکوردها موجود باشند، فیلدهای جدید «غیر تهی (Non-null)» مشکل ساز می شوند. یا مقدار پیش فرض بده، یا فیلد را قابل تهی کن.

from django.db import models

class Member(models.Model):
  firstname = models.CharField(max_length=255)
  lastname = models.CharField(max_length=255)
  phone = models.IntegerField(null=True)
  joined_date = models.DateField(null=True)

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

گام 4: ساخت دوباره Migration و اجرای آن

پس از اصلاح مدل، دوباره مهاجرت بساز و سپس اعمال کن. «migrate» تغییرات را روی دیتابیس اجرا می کند.

python manage.py makemigrations members
python manage.py migrate

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

گام 5: مقداردهی به فیلدهای تازه

با پوسته پایتون، یکی از اعضا را ویرایش کن. «پوسته (Shell)» محیط اجرای تعاملی کد است.

python manage.py shell

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

from members.models import Member
x = Member.objects.all()[0]
x.phone = 5551234
x.joined_date = '2022-01-05'
x.save()

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

جمع بندی سریع

  • مدل را ویرایش کن و فیلدها را اضافه کن.
  • Migration بساز و خطاهای non-null را رفع کن.
  • با migrate تغییرات را اعمال کن.
  • در shell مقدار فیلدهای تازه را ثبت کن.

ادامه مسیر: حذف داده را ببین. همچنین به روزرسانی داده و مدل ها برای مرور پایه مفیدند. برای آمادگی نمایش، به آماده سازی قالب سر بزن.