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

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

示例:

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

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

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

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

如果加上**str 方法**

str 方法返回 title 字段的值。

这意味着:

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

效果如下

相关推荐
kaliarch2 分钟前
Terraform 存量资源手动导入IaC管控方案
后端·自动化运维
测试老哥9 分钟前
如何写好测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
kaliarch9 分钟前
Terraform 导入存量云资源方案
后端·自动化运维
我命由我1234513 分钟前
Spring Boot 项目问题:Web server failed to start. Port 5566 was already in use.
java·前端·jvm·spring boot·后端·spring·java-ee
kaliarch16 分钟前
IaC 管控资源发生属性偏移修正方案
后端·架构·自动化运维
ALLSectorSorft17 分钟前
相亲小程序个人资料管理系统模块搭建
服务器·网络·数据库·python·sql
kaliarch24 分钟前
Terraform 合并多个项目(独立目录)解决方案
后端·自动化运维
南囝coding26 分钟前
最近Vibe Coding的经验总结
前端·后端·程序员
AI手记叨叨30 分钟前
Python LRU缓存应用与示例
python·缓存
丘山子41 分钟前
Python 布尔运算的优雅实践
后端·python·面试