matobaの学んだこと

とあるPythonエンジニアのブログ。ソフトウェア開発、執筆活動、ライフログ。

django adminの一覧でカラムを増やしたい

django adminの一覧でカラムを増やしたい、と思う時はよくある

なんか、毎回同じようなことを検索して、djangoのドキュメントを探して自分で実行して確かめてる。というわけで、メモする。

例えば、こういうモデルがある。

class MyModel(models.Model):
    title = models.CharField(max_length=10)
    text = models.CharField(max_length=10)
    rank = models.IntegerField()

    def __str__(self):
        return self.title

そこに、以下のようなadmin定義をする。

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    fields = ('title', 'text', 'rank')

するとMyModelの一覧は、titleがずらっと並ぶ。rankも見たいよね。という時はある。 そういう時は、list_desplayを定義する。

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    fields = ('title', 'text', 'rank')
    list_display = ('title', 'rank')

それだけ。

詳しくはドキュメントを。

The Django admin site | Django documentation | Django