Django 模型中的字段有个 choices 属性,这个属性可以提供被选数据。
举例子说明一下,首先创建一个模型 Person ,包含两个字段 name 和 gender:
from django.db import models
class Person(models.Model):
GENDER_CHOICES = (
(u'M', u'Male'),
(u'F', u'Female'),
)
name = models.CharField(max_length=60)
gender = models.CharField(max_length=2, choices=GENDER_CHOICES)
控制台测试和输出如下:
>>> p = Person(name="Fred Flinstone", gender="M") >>> p.save() >>> p.gender u'M' >>> p.get_gender_display() u'Male'
可见 gender 字段中保存了两个信息,一个为 value,一个 display_name,要取 value 时,直接用 p.gender 即可;如果要取display_name 时,用 p.get_gender_display()这个函数即可。



