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

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

示例:

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

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

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

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

如果加上**str 方法**

str 方法返回 title 字段的值。

这意味着:

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

效果如下

相关推荐
实名上网宋凯宣2 小时前
Django
后端·python·django
如若1233 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
利威尔xu3 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF4 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
砚底藏山河4 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
慢云智慧空间4 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
视觉小萌新4 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
利威尔xu4 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
薛定谔的猫-菜鸟程序员5 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
IT_陈寒7 小时前
SpringBoot多环境配置把我坑惨了,这个踩坑经验你最好看看
前端·人工智能·后端