مدل (Model) در جنگو
مدلها در جنگو (Django) یکی از اجزای اصلی این فریم ورک هستند که به شما امکان میدهند تا دادهها را به صورت سازمان یافته ذخیره کنید.
مدلها در جنگو به عنوان نمایندهای از جداول پایگاه داده عمل می کنند و به شما این امکان را می دهند که با دادهها بهصورت شئ گرا کار کنید.
با استفاده از مدل ها می توان راحت تر پایگاه داده را ایجاد و از آن استفاده کرد.
مدلها با استفاده از کلاسها تعریف می شوند و هر کلاس به یک جدول در پایگاه داده اشاره دارد. هر ویژگی (Attribute) در کلاس، به یک ستون در جدول پایگاه داده تبدیل می شود.
نکته: برای اطلاعات بیشتر به درس کلاس و شئ در پایتون مراجعه کنید.
ایجاد یک مدل در جنگو
برای ایجاد یک مدل به فایل پروژه myproject رفته سپس در فایل models.py کلاس models را از django.db را فراخوانی می کنیم.
from django.db import models
با دستور class یک مدل می سازیم و نام آن را به صورت دلخواه و مناسب با پایگاه داده موردنظر، می سازیم.
این دستور از کلاس models.model ارث بری می کند.
برای مثال یک مدل از کاربران یک سایت می سازیم که نام و سن آنها را ذخیره می کند.
class users(models.Model):
firstname = models.CharField(max_length=50)
age = models.IntegerField(max_length=3)
اجرای Migrations در جنگو
پس از تعریف مدل، برای ایجاد جدول مربوطه در پایگاه داده، باید از ابزارهای Migrations استفاده کرد.
ابزارهای Migrations برای سهولت در ساخت و دسترسی به پایگاه داده به کار می روند.
اولین عمل پس از ایجاد مدل، ساخت فایل migration است.
python manage.py makemigrations
پس از ساخت فایل باید دستورات مدل را اجرا کنید.
python manage.py migrate
پس از اجرای دستورات بالا، پایگاه داده users ایجاد می شود و پیام زیر را در ترمینال دریافت می کنید.
Operations to perform:
Apply all migrations: admin, auth, contenttypes, members, sessions
Running migrations:
Applying members.0001_initial... OK
خلاصه درس
در این درس با مدل ها و نحوه ایجاد آنها آشنا شدیم.