فیلدهای اسکالر (Scalar Fields)
فیلدهای اسکالر، سادهترین و رایجترین نوع فیلدها هستند که مقادیر ساده را ذخیره میکنند — یعنی هر فیلد فقط یک مقدار ساده (مثل متن، عدد، تاریخ یا بولین) را نگه میدارد. این فیلدها مستقیماً به ستونهای ساده در دیتابیس تبدیل میشوند.
الف) فیلدهای متنی:
CharField
: برای رشتههای کوتاه با طول مشخص (max_length
اجباری است).TextField
: برای متنهای بلند — بدون محدودیت طول.EmailField
: اعتبارسنجی ایمیل + محدودیت طول.SlugField
: برای URLها — فقط حروف، اعداد، خط تیره و زیرخط.URLField
: اعتبارسنجی آدرس اینترنتی.
ب) فیلدهای عددی:
IntegerField
,BigIntegerField
,SmallIntegerField
: اعداد صحیح با دامنههای مختلف.PositiveIntegerField
,PositiveSmallIntegerField
: فقط اعداد مثبت.DecimalField
: اعداد اعشاری با دقت بالا — مناسب امور مالی.FloatField
: اعداد اعشاری با دقت متوسط (با خطای گرد کردن).
ج) فیلدهای تاریخ و زمان:
DateField
: فقط تاریخ (YYYY-MM-DD)DateTimeField
: تاریخ + زمانTimeField
: فقط زمان (HH:MM:SS)
د) فیلدهای بولین و انتخابی:
BooleanField
: True/Falsechoices
: برای محدود کردن مقادیر مجاز (مثلاً وضعیتها)
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)
status = models.CharField(max_length=20, choices=(('ON', 'Active'), ('OFF', 'Inactive')))