Django 管理画面の使い方 - モデルの追加

管理画面へのモデルの追加

デフォルトでは Django の管理画面では User と Group の設定のみが可能です。

Django の管理画面 - Auth

ユーザー定義のモデルを管理画面に組み込むにはどうしたらよいでしょうか。

実は Django の管理画面には、ユーザー定義のモデルを組み込む機能が用意されています。 特定のファイルと数行のコードを追加するだけでモデルのマスタ画面が作成できます。

ここでは具体的に、「モデルの基礎」 で作成した Django app - meibo 内のモデル、 Company と Employee を管理画面に組み込む方法を示します。

次の内容を admin.py という名前で、meibo サブディレクトリに作ります。

from django.contrib import admin
from mysite.meibo.models import Company, Employee

admin.site.register(Company)
admin.site.register(Employee)

実はこれだけで、管理画面にモデルが組み込まれます。

Django 管理画面へのモデルの追加

項目を選択すれば、もちろん編集も可能です。

Django 管理画面へのモデルの追加

ちなみに、この管理画面はデフォルトの状態でもなかなか気が利いていて、 Employee は company 属性で Company を参照するのですが、その部分は存在する Company から値を選べるように、 ドロップダウンで表示されます。

Django 管理画面へのモデルの追加

ちなみに、コードはこんな風でした。

class Employee(models.Model):
     firstname = models.CharField(max_length = 100)
     lastname = models.CharField(max_length = 100)
     email = models.EmailField()
     company = models.ForeignKey(Company) # ここで Company を参照する
     
     def __unicode__(self):
         return self.firstname

この機能を使えば、ちょっとしたマスター画面は自動的に作成できることになります。

また、管理画面はカスタマイズ可能です。それについてはまた別のページで説明します。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門