原文地址:https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display

关于django中枚举类型转换显示问题,每次设置枚举类型,

EXPERIENCE_CHOICES = (
  (1, '应届毕业生'),
  (2, '3年及以下'),
  ...
)
education = models.SmallIntegerField(choices=EDUCATION_CHOICES, default='不要求', verbose_name="学历要求")

数据库实际存储值为,1,2,3, 4, 5,序列化返回数据类型:

[
  {
    "id": 2,
    "name": "Python开发工程师",
    "salary": 3,
    "experience": 2,
    "education": 2,
    "type": 1,
    "create_time": "2018-12-11T10:48:03.076841+08:00",
      }
    }
  },
...
]

如果想要在序列化返回时显示对应的字符串信息,只需要在序列化器中声明字段时指定source来源

class LatestJobSerializer(serializers.ModelSerializer):
salary = serializers.CharField(source='get_salary_display')
experience = serializers.CharField(source='get_experience_display')
education = serializers.CharField(source='get_education_display')
type = serializers.CharField(source='get_type_display') class Meta:
model = Job
fields = ['id', 'name', 'salary', 'experience', 'education', 'type', 'create_time', 'enterprise', 'locations', 'url']

django-枚举类型扩展方法的更多相关文章

  1. C#原始类型扩展方法—this参数修饰符

    扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用.对于用 C# 和 Visual ...

  2. C# 用this修饰符为原始类型扩展方法

    特点:1.静态类 2.静态方法 3.第一个参数前加this 例如:public static List<T> ToList<T>(this string Json),就是为th ...

  3. this 的用法 为原始类型扩展方法

    namespace Demo { public static class Extends { // string类型扩展ToJson方法 public static object ToJson(thi ...

  4. Java的枚举类型使用方法详解

    1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏 ...

  5. Django中的枚举类型

    一.枚举类型示例 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等.Python 的原生类型(Built-in types)里并没有专门的枚举类型 ...

  6. 在WPF中使用变通方法实现枚举类型的XAML绑定

    问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...

  7. C#的扩展方法解析

    在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...

  8. [CLR via C#]15. 枚举类型和位标志

    一.枚举类型 枚举类型(enumerated types)定义了一组"符号名称/值"配对. 例如,以下Color类型定义了一组符号,每个符号都标识一种颜色: internal en ...

  9. Python3.4 枚举类型的使用

    From: https://majing.io/posts/10000005131196 枚举类型是在Python3.4新增到Python的标准库. 创建枚举 Python提供了两种方法来创建枚举: ...

随机推荐

  1. Java小目标

    看了智联.内推和拉勾这三个招聘网站,除了智联外,其它招聘网站对岗位要求的描述都比较专业.大部分公司都要求会一些HTML5.JS,SSH等前端技术,所有公司都要求会使用Oracle.MySQL等数据库, ...

  2. java web后台工作原理

    多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如Se ...

  3. Vmware网络不可达

    1. ifconfig -a   查看当前的网卡 2. cd  /etc/sysconfig/network-scripts/ 3. 打开对应网卡名称文件, 具体修改内容参考(https://www. ...

  4. python ---split()函数讲解

    python ---split()函数讲解 split中文翻译为分裂. 在python用于分割字符串使用. split()就是将一个字符串分裂成多个字符串组成的列表. split()可以传入参数,也可 ...

  5. Delphi做验证码登录窗口

    在五月麦田的帮助下做成了,感觉挺好,验证码输入的时候需要大写: 组件:LabelEdit 3个  Button 2个  image 1个. 代码如下: unit Unit1; interface us ...

  6. 微信小程序 拖动图片一边进行截取

    简单实现一个画布截取图片的功能 原始图片超出指定尺寸,会进行隐藏,利用短边的宽度截取长边的宽度,拖动生成指定内容的图片 横图 竖图 var box_width = 600; //截取框尺寸 var b ...

  7. 在线jquery.min.js、vue.min.js引用

    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js ...

  8. css设置垂直居中方式总结

    方式1:flex布局,display:flex;align-items:center <!DOCTYPE html> <html lang="en"> &l ...

  9. [模板] 无旋Treap (C++ class)

    注意!本帖不是算法介绍!只是贴代码(逃) //嫌stdlib的rand太慢,手打了一个 /* Author: hotwords */ typedef unsigned int tkey; class ...

  10. bootstrap-edittable 使用笔记之 (select, data,text, number)

    可编辑列表的数据格式可以指定,常用的有select, data, text, number.代码如下. 前端代码: <table id="tb_product" class= ...