【Django】枚举类型数据

模型

在模型里主要增加两项内容:

  1. 枚举表
  2. 字段增加choices
python 复制代码
class Snort(CoreModel):
    PAGE_TYPE_CHOICES = [
        (1, '失陷主机检测'),  # 1是保存到数据库里的数据,'失陷主机检测'是显示在前端的
        (2, '远程漏洞攻击检测'),
        (3, '可疑流量行为'),
        (4, 'WEB检测'),
    ]
    page_type = models.IntegerField(choices=PAGE_TYPE_CHOICES, max_length=11, verbose_name="归属页面", help_text="归属页面")

序列化

在序列化器里增加一个字段,用来表示这个枚举数字的含义;

python 复制代码
class SnortSerializer(CustomModelSerializer):
    """
    管理-序列化器
    """
    page_type_value = serializers.CharField(source="get_page_type_display", max_length=11, read_only=True)
#    ┃                              ┃        ┃ 
#    ┃                              ┃        ┗ source="get_page_type_display" :为啥这样写也不清楚,反正头和尾 get_ 和 _display 就行了
#    ┃                              ┗ serializers.CharField :序列化的数据类型
#    ┗ page_type_value : 是新增的字段
    

增加后的效果

增加后在GET返回的数据多了一个 page_type_value 这个字段是在序列化增加的字段

json 复制代码
{
	"page_type_value": "失陷主机检测",
	"page_type": 4
}
相关推荐
WeiXin_DZbishe1 分钟前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
jsjzsl22 分钟前
独立自由度框架下位置自由度的本体论特征、物理现象与新技术路径
python·flask·fastapi
z_mazin6 分钟前
逆向一种私有二进制序列化格式:从零到字节级解析器
网络·python·网络协议·算法·rpc
Moment15 分钟前
为什么市面上的 coding agent 大多数都基于Nodejs?
前端·后端·面试
威联通安全存储17 分钟前
TS-h1290FX 在模具制造设计与CAM场景的部署
python·制造
liliangcsdn37 分钟前
IC计算-前向/远期收益计算和代码示例
开发语言·python·pandas
大模型搬砖人40 分钟前
8. 向量化:用 Python 构建你的第一个向量库
后端
小卿噢44 分钟前
两个线程改互不相关的变量,性能掉了 7 倍
后端
2601_962381861 小时前
python安装好了如何设置环境变量
python·开发工具·环境变量·虚拟环境·ide配置
程序员清风1 小时前
为什么不推荐走Agent开发?
java·后端·面试