django的model中choices的用法

class Person(models.Model):
    G=(('chen','jian'),('hong','yi'),('rt','ju'))
    gender=models.CharField(max_length=20,choices=G)


第一个参数是值,将被存储到数据库里。第二个值是在admin中下拉列表的显示。

>>> p=Person.objects.get(gender='chen')
>>> p.get_gender_display()
u'jian'
>>> p=Person(gender="rt")
>>> p.get_gender_display()
u'ju'
>>>

注意:当我们插入一条choices中不存在的记录时也是可以成功的。比如:

>>> p=Person(gender="yiadf")
>>> p.get_gender_display()
u'yiadf'


ok了。

posted @ 2012-05-02 16:21  jianhong  阅读(397)  评论(0编辑  收藏  举报