在Django模型列中,选择dum作为Enum是否有大小限制?

时间:2015-07-10 10:10:19

标签: django django-models

我想实现一个具有类别字段的文章模型,例如(经济学,土木工程,哲学),我希望这些学科尽可能详细,所以选择dict会非常大。这个领域是否有尺寸限制我需要担心?

有更好的方法吗?

澄清一点事情。 假设我有以下型号。
YEAR_IN_SCHOOL_CHOICES dict是否有大小限制?

from django.db import model

class Student(models.Model):
    FRESHMAN = 'FR'
    SOPHOMORE = 'SO'
    JUNIOR = 'JR'
    SENIOR = 'SR'
    YEAR_IN_SCHOOL_CHOICES = (
        (FRESHMAN, 'Freshman'),
        (SOPHOMORE, 'Sophomore'),
        (JUNIOR, 'Junior'),
        (SENIOR, 'Senior'),
    )
    year_in_school = models.CharField(max_length=2,
        choices=YEAR_IN_SCHOOL_CHOICES, default=FRESHMAN)
    def is_upperclass(self):
        return self.year_in_school in (self.JUNIOR, self.SENIOR)

1 个答案:

答案 0 :(得分:1)

Django文档尚未在“模型字段选择”文档中定义选项数量的上限。

所以,你可以继续定义你的详细选择,这应该不是问题。如果choices元组/列表很大,jonsharpe也会指出,只有问题可能会耗尽内存。

最好将choices放在单独的文件choices.py中并将其导入models.py,这样模型看起来就不会变得杂乱无章。