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

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

示例:

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

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

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

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

如果加上**str 方法**

str 方法返回 title 字段的值。

这意味着:

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

效果如下

相关推荐
半个落月10 分钟前
React JWT 登录鉴权实战:Mock、Zustand、Axios 与路由守卫全流程
后端·react.js
XingXingXxx14 分钟前
Skill 能自己变强吗?从轨迹归纳到文本空间优化的进化之路
后端
jvmind_dev26 分钟前
频繁 new JedisCluster 之后,对象池为什么回不去了?
java·后端
掘金者阿豪27 分钟前
给你的AI龙虾打造一间像素办公室!Star Office UI部署+公网访问完整教程
后端
kyrie_sakura30 分钟前
python学习笔记11 -- 进程和线程
笔记·python·学习
学长毕业设计38 分钟前
基于SpringBoot的咖啡馆管理系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端
骇客野人41 分钟前
SpringBoot业财一体化系统设计和落地实施方案
java·spring boot·后端
学长毕业设计44 分钟前
基于SpringBoot的教学资源推荐系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端
用户850869276151 小时前
一次线上文件上传 Bug 引发的区块链分布式存储深度排查
后端
Jialu.1 小时前
中文 NLP 模型部署实战:FastAPI 接口 + Streamlit 看板
人工智能·python·自然语言处理·fastapi