在 Django 模型中,__str__ 方法是一个 Python 特殊方法(也称为“魔术方法”),用于定义对象的字符串表示形式。它的作用是控制当对象被转换为字符串时,应该返回什么样的内容。
示例:
我在初学ModelForm时尝试写了简单的代码
上面代码的目的是,写一个增加用户的一个页面,例如下面的样子,让用户输入各个字段的值
其中,最后一个字段:部门,我想根据部门表中的数据来让用户选择,如果没有使用__str__ 方法
效果如下,Django 会默认显示类似 <Department: Department object (1)> 的内容,这显然不够直观。
如果加上__str__ 方法
__str__ 方法返回 title 字段的值。
这意味着:
- 当你打印一个 Department 实例时,会显示该部门的标题。
- 在 Django 管理后台中,部门对象会显示为它的标题(如 IT、HR 等)。
- 在模板中渲染 Department 实例时,也会显示标题。
效果如下