【发布时间】:2013-04-28 04:03:02
【问题描述】:
我刚刚开始使用 Django 管理视图,开始时,我正在尝试做一些非常简单的事情:使用 list_display 在对象列表中显示几个字段,如下所述:https://docs.djangoproject.com/en/dev/ref/contrib/admin/
这是我的死简单代码:
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'category')
不幸的是,list_display 选项导致柱状视图出现,但现在只有部分对象(85 个中的 40 个)显示在列表中。我无法推断为什么某些对象会显示在其他对象之上——它们的字段看起来像是被类似填充的。它显然没有分页,因为当我在另一个模型的管理员上尝试时,它只显示了大约 70 个对象中的 2 个。
这里可能发生了什么?
[更新]文章模型:
class Article(models.Model):
revision = models.ForeignKey('ArticleRevision', related_name="current_revision")
category = models.ForeignKey('meta.Category')
language = models.ForeignKey('meta.Language', default=get_default_language)
created = models.DateTimeField(auto_now_add=True, editable=False)
changed = models.DateTimeField(auto_now=True, editable=False)
title = models.CharField(max_length=256)
resources = models.ManyToManyField('oer.Resource', blank=True)
image = models.ManyToManyField('media.Image', blank=True)
views = models.IntegerField(editable=False, default=0)
license = models.ForeignKey('license.License', default=get_default_license)
slug = models.SlugField(max_length=256)
difficulty = models.PositiveIntegerField(editable=True, default=0)
published = models.NullBooleanField()
citation = models.CharField(max_length=1024, blank=True, null=True)
添加 list_display 之前:
添加list_display后:
[UPDATE] 仅当外键字段包含在 list_display 元组中时才会发生此行为。任何一个。
[UPDATE]类别型号代码:
class Category(models.Model):
title = models.CharField(max_length=256)
parent = models.ForeignKey('self')
project = models.NullBooleanField(default=False)
created = models.DateTimeField(auto_now_add=True, editable=False)
slug = models.SlugField(max_length=256, blank=True)
def __unicode__(self):
return self.title
【问题讨论】:
-
如果完全删除
list_display选项,它会显示所有对象吗? -
@karthikr:是的,确实如此
-
你能发布你的模型,以及它所展示的屏幕截图吗?
-
会不会有些文章没有设置分类?
-
@PeterDeGlopper:我刚刚再次检查了所有这些;他们都设置好了。
标签: django django-admin