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

使用str函数改变对象显示名称 – Python Django模型

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

Django模型中的对象显示名称

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

在geeks应用程序的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 “创建一个实例。
使用__str__函数改变对象显示名称 - Django Models Python
现在它将在管理界面上显示与GeeksModel对象(1)相同的创建对象。
使用__str__函数改变对象显示名称 - Django Models Python

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

为了改变显示名称,我们将在模型中使用def __str__()函数。str函数在django模型中返回一个字符串,该字符串被精确地呈现为该模型实例的显示名称。
例如,如果我们把上面的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"

这将把对象显示为管理界面中的始终。
使用__str__函数改变对象显示名称 - Django Models Python

大多数情况下,我们用self对象来命名显示名称,人们可以理解。例如,上述函数中的return self.geeks_field将返回存储在该对象的geeks_field中的字符串,它将显示在管理界面上。
使用__str__函数改变对象显示名称 - Django Models Python

请注意,str函数总是返回一个字符串,人们可以根据自己的方便来修改它。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程