首页 > 解决方案 > 使用查询从特定表中获取数据并将其显示在 django 的管理端

问题描述

我正在做一个Django项目,我想从特定表中获取数据并将其显示在管理端。

我有一个Company模型,我使用admin.site.register(Company, Company_Admin). 现在,我想在从表中查询所有公司后获取所有公司,并在管理站点中显示结果。

class Company(models.Model):
    name = models.CharField(default=None,max_length=200)
    description = models.TextField(default=None)
    url = models.CharField(max_length=200)
    published = models.BooleanField()
    createdOn = models.DateTimeField(default=datetime.utcnow)
    updatedOn = models.DateTimeField(default=datetime.utcnow)
    keywords = models.ManyToManyField(Keyword)

    def __unicode__(self):
       return self.text

class CompanyAdmin(admin.ModelAdmin): 
    list_display = ['name', 'url', 'description', 'published', 'createdOn', 'updatedOn']
    list_filter = ['name']
    search_fields = ['name']
    filter_horizontal = ('keywords', )

admin.site.register(Company, CompanyAdmin)

现在我想在管理面板中创建一个选项,它将显示所有已发布的公司,也就是说,甚至不显示未发布的公司。

标签: pythondjango

解决方案


尝试在“已发布”的 CompanyAdmin 中添加 list_filter:

list_filter = ['name','published']

因此,您可以在右侧找到一个窗格,您可以在其中随意过滤掉。(我正在考虑您没有覆盖默认管理模板。)


推荐阅读