万万哇 发表于 2025-2-18 02:48:19

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

在 Django 模子中,__str__ 方法是一个 Python 特别方法(也称为“魔术方法”),用于定义对象的字符串表现情势。它的作用是控制当对象被转换为字符串时,应该返回什么样的内容。
示例:
我在初学ModelForm时实行写了简朴的代码
https://i-blog.csdnimg.cn/direct/316d434ed57c44398b2f59c88fba8d34.png
https://i-blog.csdnimg.cn/direct/d7a92a0599c34561ba2cbedeedd774c9.png
上面代码的目标是,写一个增加用户的一个页面,比方下面的样子,让用户输入各个字段的值
https://i-blog.csdnimg.cn/direct/b77b71af0240473d96717873c90bdb9f.png
其中,最后一个字段:部门,我想根据部门表中的数据来让用户选择,如果没有使用__str__ 方法
https://i-blog.csdnimg.cn/direct/742792c0260845b285cf21ee199dfdae.png
结果如下,Django 会默认显示类似 <Department: Department object (1)> 的内容,这显然不敷直观。
https://i-blog.csdnimg.cn/direct/dd757088f3734f9abce4a11c3808c952.png
如果加上__str__ 方法
https://i-blog.csdnimg.cn/direct/b753c8c29df946f28e49c49c628de6af.png
__str__ 方法返回 title 字段的值。
这意味着:


[*]当你打印一个 Department 实例时,会显示该部门的标题。
[*]在 Django 管理背景中,部门对象会显示为它的标题(如 IT、HR 等)。
[*]在模板中渲染 Department 实例时,也会显示标题。
结果如下
https://i-blog.csdnimg.cn/direct/18fd20641be8450da02236d4f3b0e75a.png


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Django 创建表时 “__str__ ”方法的使用