پرش به محتویات

انواع فیلد در AbarORM

در AbarORM، فیلدها نوع داده‌های ذخیره شده در مدل‌های پایگاه داده شما را تعریف می‌کنند. هر نوع فیلد نمایانگر یک نوع خاص از داده است و گزینه‌هایی برای اعتبارسنجی و محدودیت‌ها فراهم می‌کند. در این راهنما انواع فیلدهای موجود و نحوه استفاده از آن‌ها را بررسی می‌کنیم.

انواع فیلدهای پایه

1. CharField

  • توضیح: نمایانگر یک فیلد متنی با طول حداکثر مشخص است.
  • پارامترها:
  • max_length: حداکثر تعداد کاراکترهای مجاز.
  • unique: اگر مقدار آن True باشد، فیلد باید مقادیر یکتایی در سراسر جدول داشته باشد.
  • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • default: مقدار پیش‌فرض در صورت عدم ارائه مقدار.
  • مثال:
    title = CharField(max_length=100, unique=True)
    

2. DateTimeField

  • توضیح: نمایانگر یک مقدار تاریخ و زمان است.
  • پارامترها:

    • auto_now: اگر مقدار آن True باشد، فیلد به طور خودکار به تاریخ و زمان جاری هنگام بروزرسانی رکورد تنظیم خواهد شد.
    • auto_now_add: اگر مقدار آن True باشد، فیلد به طور خودکار به تاریخ و زمان جاری هنگام ایجاد رکورد تنظیم خواهد شد.
  • مثال:

    create_time = DateTimeField(auto_now=True)
    

3. ForeignKey

  • توضیح: نمایانگر یک رابطه بسیاری به یک بین مدل‌ها است.
  • پارامترها:

    • to: مدل مورد نظر که این فیلد به آن اشاره دارد.
    • on_delete: رفتار هنگام حذف رکورد مرجع را تعریف می‌کند. گزینه‌های رایج شامل:
    • CASCADE: به طور خودکار رکوردهایی که به رکورد حذف‌شده ارجاع دارند را حذف می‌کند.
    • SET NULL: فیلد را به NULL تنظیم می‌کند وقتی رکورد مرجع حذف می‌شود.
    • PROTECT: حذف رکورد مرجع را با ایجاد خطا جلوگیری می‌کند.
    • SET_DEFAULT: فیلد را به مقدار پیش‌فرض تنظیم می‌کند وقتی رکورد مرجع حذف می‌شود.
    • DO_NOTHING: هیچ‌کاری انجام نمی‌دهد و فیلد بدون تغییر باقی می‌ماند.
  • مثال:

    category = ForeignKey(Category, on_delete='CASCADE')
    

4. BooleanField

  • توضیح: نمایانگر یک مقدار بولی (True یا False) است.
  • پارامترها:

    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:

    is_active = BooleanField(default=True)
    

5. IntegerField

  • توضیح: نمایانگر یک مقدار صحیح است.
  • پارامترها:

    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:

    age = IntegerField(default=0)
    

6. FloatField

  • توضیح: نمایانگر یک عدد اعشاری است.
  • پارامترها:

    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:

    price = FloatField(default=0.0)
    

7. DecimalField

  • توضیح: نمایانگر یک عدد اعشاری با دقت و مقیاس ثابت است.
  • پارامترها:

    • max_digits: حداکثر تعداد ارقام (شامل ارقام صحیح و اعشاری).
    • decimal_places: تعداد ارقام اعشاری.
    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:

    salary = DecimalField(max_digits=10, decimal_places=2, default=0.00)
    

8. DateField

  • توضیح: نمایانگر یک تاریخ است.
  • پارامترها:

    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:

    birth_date = DateField(default='2000-01-01')
    

9. TimeField

  • توضیح: نمایانگر یک زمان است.
  • پارامترها:

    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:

    meeting_time = TimeField(default='09:00:00')
    

10. TextField

  • توضیح: نمایانگر یک فیلد متنی بزرگ است.
  • پارامترها:
    • default: مقدار پیش‌فرض برای فیلد در صورت عدم ارائه مقدار.
    • null: اگر مقدار آن True باشد، فیلد می‌تواند شامل مقادیر NULL باشد.
  • مثال:
    description = TextField(null=True)