我刚刚开始使用 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 后:
[更新]仅当外键字段包含在 list_display 元组中时才会发生此行为。任何一位。
[更新]类别型号代码:
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