【问题标题】:How to display all my model's fields in django admin?如何在 django admin 中显示我的模型的所有字段?
【发布时间】:2020-02-14 08:37:44
【问题描述】:

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

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

models.py

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

admin.py

admin.site.register(Home)

【问题讨论】:

    标签: python django


    【解决方案1】:

    如果您想将显示从 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])
    

    这将在管理面板上返回包含段落中前 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)
    

    【讨论】:

      【解决方案2】:

      你为什么不在 admin.py 中试试这个:

      from django.contrib import admin
      
      
      class HomeAdmin(admin.ModelAdmin):
          list_display = ('paragraph', 'created', 'image', )
      
      admin.site.register(Home, HomeAdmin)
      

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

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

      【讨论】:

      • 如果您想要别的东西,请告诉我。
      猜你喜欢
      • 2018-04-01
      • 2021-04-11
      • 1970-01-01
      • 2013-08-28
      • 2011-03-07
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      相关资源
      最近更新 更多