• Index

Django之模型(model)中的choices字段的使用

Reads: 2020 Edit

Django模型中的字段有个choices属性,这个属性可以提供被选数据。如果一个字段设置了这个属性,在模版中如果我要显示这个字段,那么django模版系统就会将它默认解析为一个下来菜单,这样对于一个静态的下拉菜单式很方便的,下来我们看下django官方文档中对这个属性使用的介绍。

我们这儿有个例子,我们先定义一个模型,名字为Person ,这个Person 包含了名字和性别两个字段,代码如下:

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)

接下来我们看下在程序中如何取到带choices属性的gender字段的值。

>>> 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()这个函数即可。

p.get_gender_display()

也就是使用

get_字段名_display()


Comments

Make a comment

www.ultrapower.com ,王硕的博客,专注于研究互联网产品和技术,提供中文精品教程。 本网站与其它任何公司及/或商标无任何形式关联或合作。
  • Index
aaaaa