choices参数
使用场景
只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数
代码演示
class User(models.Model): username = models.CharField(max_length=32) age = models.IntegerField() # 性别 gender_choices = ( (1,'男'), (2,'女'), (3,'其他'), ) gender = models.IntegerField(choices=gender_choices)
存值
存的时候 没有列举出来的数字也能存(范围还是按照字段类型决定)
取值
只要是choices参数的字段 如果你想要获取对应信息 固定写法 get_字段名_display()
如果没有对应关系 那么字段是什么还是展示什么(即gender字段存的数字不在上述元祖列举的范围内容)
user_obj = models.User.objects.filter(pk=1).first() print(user_obj.get_gender_display())