search
New サムネイル 分断するメディアとインターネットのユーザー:ライトノベル、キズナアイ、TikTokに思うこと New サムネイル Golangのchiを使ったrouterの例 New サムネイル Golangの文字列(代入、結合・連結、部分文字列、置換)

Djangoのモデルを管理者画面で確認する(データベースの中身を管理者権限で見る)

広告

Django の管理者でモデルを確認するには admin.site の register という関数を利用します。

例えばメンバーというモデルを作り、それを管理者で確認してみましょう。まずはモデルを作ります。

class Member(models.Model):
    group = models.ForeignKey(Group, on_delete=models.CASCADE)
    account = models.ForeignKey(Account, on_delete=models.CASCADE)
    role = models.CharField(max_length=16, default='user')
    date_created = models.DateTimeField(auto_now_add=True)

    class Meta:
        unique_together = ('group', 'account')

migrate でテーブルを作っても、このままでは管理者がメンバーのデータを見ることはできません。テーブルが実際に作られているか、どんなデータが入っているか確認するには、次のクラスを作り admin に登録します。

class MemberAdmin(admin.ModelAdmin):
    list_display = ['group', 'account', 'role', 'date_created']

admin.site.register(Member, MemberAdmin)

結局次のようになります。

class Member(models.Model):
    group = models.ForeignKey(Group, on_delete=models.CASCADE)
    account = models.ForeignKey(Account, on_delete=models.CASCADE)
    role = models.CharField(max_length=16, default='user')
    date_created = models.DateTimeField(auto_now_add=True)

    class Meta:
        unique_together = ('group', 'account')

class MemberAdmin(admin.ModelAdmin):
    list_display = ['group', 'account', 'role', 'date_created']

admin.site.register(Member, MemberAdmin)

これで管理者からメンバーというテーブルを確認できます。○○ というモデルを作ったら、その都度 ○○Admin というクラスを作り、register で登録すると便利です。

list_display

list_display にはそのテーブルのカラム名を入れます。カラムにない名前を入れるとエラーになります。list_display はリスト形式です。

広告

広告

広告

コンピューター コンピューター
プログラミング プログラミング
数学 数学
英語 英語
国語 国語
理科 理科
社会 社会

Python入門

Python入門

化学入門

化学入門

漢字辞典

漢字辞典

整数辞典

漢字辞典

Lord Candy

Lord Candy