欢迎光临
我们一直在努力

Django模型如何添加enum枚举类型的字段

Django模型如何添加enum枚举类型的字段

在django的model中,有的时候需要定义枚举类型的字段,比如一个Person类,我们会让选择性别,男和女,还有很多类似的场景,选择所在地区,选择是和否等等。比如下图

如果要选择的值同时也是一个需要维护的model,比如上面说的地区,可能值比较多,另外有可能会不停地更新变化,这时最好是利用django的one-to-many和many-to-many来做,在表单上的效果类似,都是会有一个下拉框的选项;但是更多的时候这个下拉选择的项是比较固定和少量的,这个时候就要用到models包下的各类xxxField类构造方法中的choices这个参数,基本上各类的model Field都支持这个参数,参数值是一个嵌套的元组,元组的每一项也是一个元组 代表一个枚举值,格式是 (枚举值,枚举显示的文字)

给个例子 一下明了


1
2
3
4
5
distance_bigger_better_choice = (
        (1, '是'),
        (0, '不是')
    )
distance_bigger_better = models.IntegerField(verbose_name="相似距离是否越大越像", choices=distance_bigger_better_choice)

这个就是上面图片效果的代码。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » Django模型如何添加enum枚举类型的字段
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址