下面是我如何声明我的选择字段:
class Personne(models.Model):
NIVEAU_ETUDE_PETITE_ENFANCE = u'0'
NIVEAU_ETUDE_PRIMAIRE = u'1'
NIVEAU_ETUDE_SECONDAIRE_1ER_CYCLE = u'2'
NIVEAU_ETUDE_SECONDAIRE_2ND_CYCLE = u'3'
NIVEAU_ETUDE_POST_SECONDAIRE = u'4'
NIVEAU_ETUDE_SUPERIEUR_CYCLE_COURT = u'5'
NIVEAU_ETUDE_SUPERIEUR_LICENCE = u'6'
NIVEAU_ETUDE_MASTER = u'7'
NIVEAU_ETUDE_DOCTORAT = u'8'
NIVEAU_ETUDE_AUTRE = u'9'
TAB_NIVEAU_ETUDE = {
NIVEAU_ETUDE_PETITE_ENFANCE: _(
u'Early childhood education ("less than primary" '
u'for educational attainment)'),
NIVEAU_ETUDE_PRIMAIRE: _(
u'Primary education'),
NIVEAU_ETUDE_SECONDAIRE_1ER_CYCLE: _(
u'Lower secondary education'),
NIVEAU_ETUDE_SECONDAIRE_2ND_CYCLE: _(
u'Upper secondary education'),
NIVEAU_ETUDE_POST_SECONDAIRE: _(
u'Post-secondary non-tertiary education'),
NIVEAU_ETUDE_SUPERIEUR_CYCLE_COURT: _(
u'Short-cycle tertiary education'),
NIVEAU_ETUDE_SUPERIEUR_LICENCE: _(
u'Bachelor’s or equivalent level'),
NIVEAU_ETUDE_MASTER: _(
u'Master’s or equivalent level'),
NIVEAU_ETUDE_DOCTORAT: _(
u'Doctoral or equivalent level'),
NIVEAU_ETUDE_AUTRE: _(
u'Other'), }
然后我创建这样的组合:
niveau_etudes = models.CharField(max_length=1,
choices=[(a, b) for a, b in
list(TAB_NIVEAU_ETUDE.items())],
default=NIVEAU_ETUDE_PRIMAIRE,
null=True, blank=True)
问题是我的当事人刚刚<八个这样的字段(这是最短的一个!)。所以我不能把所有这些“静态”值放在模型文件中,因为它将变得不可读
如何解决这个问题
我是这样做的:
我创建了另一个类,每次我想要引用“常量”时,我就调用我的类,例如:
这是我的类,它只包含翻译后的常量:
我会这样做:
输出:
不知道上面代码中的u2;()是什么可能是某个变量/函数,但不管怎样它都应该工作
相关问题 更多 >
编程相关推荐