به روزرسانی مدل (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 مقدار فیلدهای تازه را ثبت کن.
ادامه مسیر: حذف داده را ببین. همچنین به روزرسانی داده و مدل ها برای مرور پایه مفیدند. برای آمادگی نمایش، به آماده سازی قالب سر بزن.