如果一个字段只有固定的几个选项,类似select下拉框这种,如果在表里面设置一个外键的话,为了几个选项弄一张表不值得。
Django模型中的字段有个choices属性,在设计模型的时候,只需把字段参数加个choices即可
**gender_select参数定义一个元祖类型,里面有2个参数,一个是value值可以选择,如“M”,另外一个是显示的内容display_name,如“男”
models.py
class Student(models.Model): """学生表""" student_no = models.CharField(max_length=10,verbose_name="学号") student_name = models.CharField(max_length=30,verbose_name="姓名") student_age = models.IntegerField(verbose_name="年龄") student_score = models.IntegerField(verbose_name="分数")
student_gender_select = (("M","男"),("W","女")) # 性别做成为下拉选择框样式 student_gender = models.CharField(max_length=10, choices=student_gender_select, # 设置性别选项 verbose_name="性别", default="" ) # 多对多 teachers = models.ManyToManyField(Teacher,verbose_name="老师") class Meta: verbose_name = "学生成绩" verbose_name_plural = verbose_name def __str__(self): return self.student_name
浏览器显示: