如何在 django admin 中显示我的所有模型字段?

dip*_*pak 2 python django

此代码显示对象如下:Home Object(1)Home Object(2)但我想在我的 django 管理页面中显示所有模型字段。我该怎么做?

我是 Django 的初学者,这是我的第一个项目。

模型.py

class Home(models.Model):
    image=models.ImageField(upload_to='home')
    paragraph=models.TextField()
    created=models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

管理文件

admin.site.register(Home)
Run Code Online (Sandbox Code Playgroud)

Sam*_*Sam 7

如果您想将显示更改Home Object(1)为其他内容,您可以通过在模型中定义一个方法来实现,如下所示:

class Home(models.Model):
    image=models.ImageField(upload_to='home')
    paragraph=models.TextField()
    created=models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return "{}:{}..".format(self.id, self.paragraph[:10])
Run Code Online (Sandbox Code Playgroud)

这将返回管理面板上段落中前 10 个字符的对象 ID:

例如: 1:Example par...

单击该对象后,您将获得对象详细信息。

如果你想在面板上,你可以像这样尝试 admin.py

from django.contrib import admin

class HomeAdmin(admin.ModelAdmin):
    list_display = ('image', 'paragraph','created',)

admin.site.register(Home,HomeAdmin)
Run Code Online (Sandbox Code Playgroud)


小智 5

为什么不在 admin.py 中尝试一下:

from django.contrib import admin


class HomeAdmin(admin.ModelAdmin):
    list_display = ('paragraph', 'created', 'image', )

admin.site.register(Home, HomeAdmin)
Run Code Online (Sandbox Code Playgroud)

这应该做的是在管理中查看 Home 对象列表时显示字段及其值。所以这应该只适用于管理中的列表视图。

另外,如果您在管理中从图像字段查看图像时遇到问题,请检查以下问题的答案: Django Admin Show Image from Imagefield