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

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

示例:

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

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

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

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

如果加上**str 方法**

str 方法返回 title 字段的值。

这意味着:

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

效果如下

相关推荐
NetCrossPlatform3 分钟前
MAUI库推荐二:MPowerKit
后端
小智RE0-走在路上4 分钟前
Python学习笔记(6)--列表,元组,字符串,序列切片
笔记·python·学习
feeday12 分钟前
Python 删除重复图片 优化版
开发语言·python
风的归宿5514 分钟前
进程调度:深入Linux内核架构读书笔记
后端
ss27318 分钟前
Java线程池全解:工作原理、参数调优
java·linux·python
代码扳手19 分钟前
Go 微服务数据库实现全解析:读写分离、缓存防护与生产级优化实战
数据库·后端·go
于是我说20 分钟前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试
BoBoZz1920 分钟前
RotationAroundLine 模型的旋转
python·vtk·图形渲染·图形处理
Kurbaneli23 分钟前
Python金融数据分析革命:Mootdx让通达信数据获取变得如此简单
python
Charlie_Byte23 分钟前
Netty + Sa-Token 实现 WebSocket 握手认证
java·后端