📜  使用 __str__函数更改对象显示名称 – Django 模型 | Python

📅  最后修改于: 2022-05-13 01:55:16.222000             🧑  作者: Mango

使用 __str__函数更改对象显示名称 – Django 模型 | Python

如何在 Django 管理界面中更改对象的显示名称?每当在 Django 中创建模型实例时,它都会将该对象显示为ModelName Object(1) 。本文将探讨如何使用def __str__(self)更改您的 Django 模型以更改模型中的显示名称。

Django 模型中的对象显示名称

考虑一个名为geeks的项目,它有一个名为geeksforgeeks的应用程序。

极客应用的models.py文件中输入以下代码。

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model):
    geeks_field = models.CharField(max_length = 200)

在 Django 上运行 makemigrations 和 migrate 并渲染上述模型后,让我们尝试使用字符串“ GfG is Best ”创建一个实例。
django 对象名称显示
现在它将在管理界面中显示与GeeksModel 对象(1)相同的对象。
显示名称 django 模型

如何在 Django 管理界面中更改模型实例的显示名称?

要更改显示名称,我们将在模型中使用def __str__()函数。 django 模型中的str函数返回一个字符串,该字符串完全呈现为该模型实例的显示名称。
例如,如果我们将上面的 models.py 更改为

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model):
    geeks_field = models.CharField(max_length = 200)
     
    def __str__(self):
         return "something"

将始终在管理界面中显示对象。
django-显示名称-某事

大多数时候,我们使用self对象来命名人们可以理解的显示名称。例如,上面函数中的return self.geeks_field将返回存储在该对象的 geeks_field 中的字符串,并将显示在管理界面中。
django-display-name-gfg-is-best .

请注意, str函数总是返回一个字符串,并且可以根据自己的方便进行修改。

还要检查——

  • 在 Django 管理界面中渲染模型
  • 内置字段验证 – Django 模型