2015-07-10 58 views
0

我想要實現一個有類別領域的文章模型,例如(經濟學,土木工程,哲學),並且我希望學科儘可能詳細,所以選擇詞典會非常大。我需要擔心這個字段有大小限制嗎?Django模型列中的Enum是否有大小限制?

有沒有更好的方法來做到這一點?

澄清一些事情。 假設我有以下模型。
YEAR_IN_SCHOOL_CHOICES字典有大小限制嗎?

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) 
+0

不是。如果它變得太大,可能會導致內存用盡,並且會讓用戶感到困惑,但是沒有任何技術限制。 – jonrsharpe

回答

1

Django文檔還沒有定義用於在模場的選擇文檔選擇的數目的上限。

所以,你可以繼續並定義你的詳細選擇,這不應該是一個問題。如果choices元組/列表很大,那麼只有問題可能會用盡內存,因爲jonsharpe也指出。

如果您將choices放在單獨的文件choices.py中,並將其導入models.py以使模型看起來不顯得雜亂和骯髒,那會更好。

相關問題