猿问

如何在 django、python 中更改管理字段名称

我在我的应用程序的 models.py 文件中添加了一个模型作者,并为作者创建了模型名称,而我在管理面板中打开它显示为作者对象(12)我该如何更改?

我尝试添加 Unicode

class Author(models.Model):
    author_name=models.CharField(max_length=300)

我想要管理面板中的字段名称而不是作者对象。 下面我想更改作者对象


长风秋雁
浏览 136回答 3
3回答

天涯尽头无女友

尝试这个:class Author(models.Model):&nbsp; &nbsp; author_name=models.CharField(max_length=300)&nbsp; &nbsp; def __str__(self):&nbsp; &nbsp; &nbsp; &nbsp; return self.author_name遵循@dirkgroten 所说的“养成始终为所有模型覆盖str的习惯”您也可以list_display在您的方法中使用方法admin.py来实现类似的结果。创建一个管理类并用于list_display以表格格式呈现模型的字段Admin.pyfrom app.models import Artist&nbsp; &nbsp; &nbsp; #<-----Import you artist model&nbsp;@admin.register(Artist)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #<----- admin class should be just below this lineclass ArtistAdmin(admin.ModelAdmin):&nbsp; &nbsp; list_display = ["id", "author_name"]或者你也可以这样做:from app.models import Artist&nbsp; &nbsp; &nbsp; #<-----Import you artist model&nbsp;class ArtistAdmin(admin.ModelAdmin):&nbsp; &nbsp; list_display = ["id", "author_name"]admin.site.register(Artist, ArtistAdmin)&nbsp; &nbsp; #<----register your class also

largeQ

您可以像这样覆盖__str__django 模型类中的方法class Author(models.Model):&nbsp; &nbsp; author_name=models.CharField(max_length=300)&nbsp; &nbsp; def __str__(self):&nbsp; &nbsp; &nbsp; &nbsp; return self.author_name

潇潇雨雨

这是像您这样的情况的覆盖__str__方法的示例。class Language(models.Model):&nbsp; &nbsp; language = models.CharField(max_length=32)&nbsp; &nbsp; class Meta:&nbsp; &nbsp; &nbsp; &nbsp; app_label = "languages"&nbsp; &nbsp; &nbsp; &nbsp; ordering = ["-modified"]&nbsp; &nbsp; def __str__(self):&nbsp; &nbsp; &nbsp; &nbsp; return f"{self.language} (language {self.id})"
随时随地看视频慕课网APP

相关分类

Python
我要回答