【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
}
相关推荐
CCblandy4 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
Cc.Y5 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python
拿本唠嗑AI研究5 小时前
本体工程实战指南:从建模到可维护的完整落地路径
java·人工智能·python·jena·ontology
Smoothcloud润云6 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
jsjzsl26 小时前
递归自改进系统(RSI)的本质是自发对称破缺:智能爆炸有界—— AI研发切记盲目投入
人工智能·python·算法
2601_954811826 小时前
机器视觉教学套件选型指南:五维技术参数对比与课程体系评估
python·数码相机
凤山老林6 小时前
Spring Boot 集成 Sa-Token 实现高可用权限认证:登录鉴权、动态路由权限与接口防重放实战
spring boot·后端·sa-token·bootstrap
小马不起床7 小时前
零基础玩转 FastAPI_05:后端课程模块
python·fastapi
小王2047 小时前
Day 41:模型注意力机制 — SE / CBAM / ECA
python·深度学习·机器学习
Bazingga7 小时前
一次推理的完整旅程:ReAct推理深度解析
后端