Django 创建表时 “__str__ ”方法的使用

在 Django 模型中,str 方法是一个 Python 特殊方法(也称为"魔术方法"),用于定义对象的字符串表示形式。它的作用是控制当对象被转换为字符串时,应该返回什么样的内容。

示例:

我在初学ModelForm时尝试写了简单的代码

上面代码的目的是,写一个增加用户的一个页面,例如下面的样子,让用户输入各个字段的值

其中,最后一个字段:部门,我想根据部门表中的数据来让用户选择,如果没有使用**str 方法**

效果如下,Django 会默认显示类似 <Department: Department object (1)> 的内容,这显然不够直观。

如果加上**str 方法**

str 方法返回 title 字段的值。

这意味着:

  • 当你打印一个 Department 实例时,会显示该部门的标题。
  • 在 Django 管理后台中,部门对象会显示为它的标题(如 IT、HR 等)。
  • 在模板中渲染 Department 实例时,也会显示标题。

效果如下

相关推荐
对象存储与RustFS1 分钟前
用 warp 压测 S3 兼容存储,十分钟跑出一份可复现的基准报告
后端·云原生·性能优化
吴佳浩 Alben1 分钟前
一文讲透推理引擎性能指标:TTFT、TPOT、KV命中率、并发,到底对应 vLLM / SGLang 的哪个参数?
人工智能·python·语言模型·架构·ai编程·vllm·sglang
用户298698530142 分钟前
Python 实现 Word 转 XPS、PostScript 与 OFD 格式
后端·python·api
Patrick在香港26 分钟前
你写的「比较 token」函数,正在用 36 纳秒泄露密码:时序攻击实测
python·安全·标准库·时序攻击·常量时间
蜗牛互联网27 分钟前
Python Agent 工具调用:审批令牌、参数白名单和累计预算
java·开发语言·人工智能·windows·后端·python
环境栈笔记27 分钟前
指纹浏览器检查代理失败怎么排查?先分清代理、网络和检测服务
前端·人工智能·后端·自动化
武子康1 小时前
ESP32 唤醒词标称 98%,为什么还要自己做验收?
人工智能·后端·agent
维克兜率天1 小时前
【维克】统计套利:寻找市场的“定价误差“
人工智能·python·算法
承渊政道1 小时前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
郭庆汝1 小时前
(六)MCP+A2A之——Playwright与BrowserUse:让AI学会像人类一样使用浏览器
开发语言·python