🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ گلناز خسروپناه
why not enum
نیماد کاکاوند حل شده توسط نیماد کاکاوند

chera enum estefade nakardin baraye choice option

سلام وقت بخیر


ممنون میشم کد مد نظرتون رو ارسال کنین تا بهتر راهنماییتون کنم

نیک رهنما ۱۱ شهریور ۱۴۰۲، ۱۹:۰۲
class StatusAEnum(Enum):
    OK = 'ok'
    PENDING = 'pending'
    FAILED = 'failed'
class StatusBEnum(Enum):
    WAITING = 'waiting'
    CANCELLED = 'cancelled'
    READY = 'ready'
class SomeModelWithChoices(models.Model):
    status_A = EnumChoiceField(
        StatusAEnum,
        default=StatusAEnum.PENDING
    )
    status_B = EnumChoiceField(
        StatusBEnum,
        default=StatusBEnum.WAITING
    )

https://www.hacksoft.io/blog/introducing-django-enum-choices-2

ya

from django.utils.translation import gettext_lazy as _
class Student(models.Model):
    class YearInSchool(models.TextChoices):
        FRESHMAN = 'FR', _('Freshman')
        SOPHOMORE = 'SO', _('Sophomore')
        JUNIOR = 'JR', _('Junior')
        SENIOR = 'SR', _('Senior')
        GRADUATE = 'GR', _('Graduate')
    year_in_school = models.CharField(
        max_length=2,
        choices=YearInSchool.choices,
        default=YearInSchool.FRESHMAN,
    )

https://stackoverflow.com/questions/54802616/how-can-one-use-enums-as-a-choice-field-in-a-django-model

گلناز خسروپناه ۱۲ شهریور ۱۴۰۲، ۰۸:۳۷

درود وقت بخیر

بسته به نیازمندی‌های پروژه و best practice‌های پیاده سازی شده در پروژه ، چنین مسائلی تصمیم گرفته میشه .

در هر صورت هر دو درست هستش. تنها چیزی که اهمیت داره اینه که ببینید کدام یک حافظه کمتری مشغول میکنه در حین اجرای برنامه

موفق باشید ?

بهترین پاسخ
نیماد کاکاوند ۱۳ شهریور ۱۴۰۲، ۱۱:۳۶