django之Models里常用小参数choices

choices字段参数

应用场景: 如果你需要创建一个有固定值的字段且这个字段的值是字符类型的,我们需要用到choices字段参数。

原因:因为在数据库中存字符类型的数据会大于其他数字类型的数据,而我们仅仅需要那几个固定的字符类型的值。在这种情况下如果我们要建立一个大型的网站,里面会有成千上万的数据,我们使用choices会大大减少数据库的存储压力。

案例:  建立一张User用户表  

  字段有 姓名  年龄  性别 

  而性别这个字段就符合我们choices的应用场景  它里面的值无非就是两个   男 或 女  因此我们可以用数字来代替存入数据库  

下面我们建立这张表:

models.py

class User(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    
    choices = (
    (1,''),(2,'')     #当gender性别字段从数据库查出数字时 与其匹配对应相应的值
)
    gender = models.IntegerField(choices = choices)

 

views.py  我们在取时也需要特定的格式

obj.get_choices字段_display()

user_obj = models.User.objects.filter(pk=1).first()
print(user_obj.get_gender_display())

 

注意:当我们在此字段存入没有与choices匹配的数字时,并不会报错,而是展示出你存入的数字

 

posted @ 2019-09-23 18:26  s686编程传  阅读(504)  评论(0编辑  收藏  举报