5

ここで説明されているように、list_display を使用してオブジェクトのリストにいくつかのフィールドを表示する: https://docs.djangoproject.com/ ja/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 の前の Django amdin

list_display を追加した後:

list_display 後の Django amdin

[更新]この動作は、ForeignKey フィールドが 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
4

1 に答える 1