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

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

示例:

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

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

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

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

如果加上**str 方法**

str 方法返回 title 字段的值。

这意味着:

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

效果如下

相关推荐
databook几秒前
稀疏表示与字典学习:让数据“瘦身”的魔法
python·机器学习·scikit-learn
只在空想家9 分钟前
Servlet 体系结构
java·后端·servlet
ApiHug11 分钟前
ApiHug 1.3.9 支持 Spring 3.5.0 + Plugin 0.7.4 内置小插件升级!儿童节快乐!!!
java·后端·spring·api·apihug·apismart
玛奇玛丶12 分钟前
💥昨天掘金 Web 端突然登不上了,一次网络异常的排查记录
后端·负载均衡
南囝coding16 分钟前
这款AI自动生成播客工具,必须收藏!
前端·后端
追逐时光者21 分钟前
C#/.NET/.NET Core优秀项目和框架2025年5月简报
后端·.net
Sheeep23 分钟前
学习Pytest + Hypothesis——能帮你发现你自己都没想到的 bug
python·测试
37手游后端团队1 小时前
8分钟带你看懂什么是MCP
人工智能·后端·面试
站大爷IP1 小时前
用Python打造办公效率神器:从数据到文档的全流程自动化实践
python
hongjianMa1 小时前
ModuleNotFoundError No module named ‘torch_geometric‘未找到
python