فیلدهای اسکالر (Scalar Fields)
فیلدهای اسکالر، سادهترین و رایجترین نوع فیلدها هستند که مقادیر ساده را ذخیره میکنند — یعنی هر فیلد فقط یک مقدار ساده (مثل متن، عدد، تاریخ یا بولین) را نگه میدارد. این فیلدها مستقیماً به ستونهای ساده در دیتابیس تبدیل میشوند.
الف) فیلدهای متنی:
-
CharField: برای رشتههای کوتاه با طول مشخص (max_lengthاجباری است).TextField: برای متنهای بلند — بدون محدودیت طول.EmailField: اعتبارسنجی ایمیل + محدودیت طول.SlugField: برای URLها — فقط حروف، اعداد، خط تیره و زیرخط.URLField: اعتبارسنجی آدرس اینترنتی.
ب) فیلدهای عددی:
-
IntegerField,BigIntegerField,SmallIntegerField: اعداد صحیح با دامنههای مختلف.PositiveIntegerField,PositiveSmallIntegerField: فقط اعداد مثبت.DecimalField: اعداد اعشاری با دقت بالا — مناسب امور مالی.FloatField: اعداد اعشاری با دقت متوسط (با خطای گرد کردن).
ج) فیلدهای تاریخ و زمان:
-
DateField: فقط تاریخ (YYYY-MM-DD)DateTimeField: تاریخ + زمان (YYYY-MM-DD HH:MM:SS)TimeField: فقط زمان (HH:MM:SS)
د) فیلدهای بولی:
-
BooleanField: مقدار True و یا False
class Sample(models.Model):
name = models.CharField(max_length=200)
price = models.DecimalField(max_digits=10, decimal_places=2)
created_at = models.DateTimeField(auto_now_add=True)
is_available = models.BooleanField(default=True)