Django 创建表 choices的妙用:get_<field_name>_display()

1.定义choices

我在创建表时,对于性别这个字段,定义了choices 选项,1代表男,2代表女

mysql中表的数据如下,里面存储的是1或2

如果我们在网页上展示的时候,想展示"男"或"女",而不是数字1或2

我们可以通过get_<field_name>_display() 方法获取该字段的可读值,而不是直接显示数据库中存储的值。

其中**<field_name>就是我们定义时该字段的命名:gender**

2.使用get_<field_name>_display()

在python语法中,我们可以通过 obj.get_gender_display() 来获取性别的可读值("男" 或 "女"),例如

而在模板语法中,我们通过{{ obj.get_gender_display }}来获取性别的可读值(与python语法相比没有小括号),例如

总结:get_<field_name>_display() 是 Django 提供的一个便捷方法,用于获取带有 choices 选项字段的可读值。

相关推荐
再吃一根胡萝卜3 小时前
微服务治理的“四大护法”:从 Django 视角理解 Spring Cloud 核心组件
后端
再吃一根胡萝卜3 小时前
面试终极挑战:如何用 Django 经验,回答 Java 微服务实战问题?
后端
To_OC5 小时前
装完 ESLint 它一声不吭?我还以为代码写得多好
后端·node.js·eslint
CTA量化套保5 小时前
近期零基础量化学习:先分阶段,再用 AI 检查缺口
人工智能·python
清水白石0085 小时前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
凤山老林6 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
Elias不吃糖6 小时前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse
vipbic6 小时前
一个前端的 9 天重构:我是怎么用 Codex 重做航栈的
前端·javascript·后端
TechWayfarer6 小时前
批量查IP归属地,在线API、脚本、离线库怎么选?三种方案实测对比
网络·python·网络协议·tcp/ip
资源大佬星 课it6 小时前
重学C++ ,重构你的C++知识体系
vue.js·docker·django