Django 管理画面の使い方 - モデルの追加
管理画面へのモデルの追加
デフォルトでは Django の管理画面では User と Group の設定のみが可能です。
ユーザー定義のモデルを管理画面に組み込むにはどうしたらよいでしょうか。
実は 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)
実はこれだけで、管理画面にモデルが組み込まれます。
項目を選択すれば、もちろん編集も可能です。
ちなみに、この管理画面はデフォルトの状態でもなかなか気が利いていて、 Employee は company 属性で Company を参照するのですが、その部分は存在する Company から値を選べるように、 ドロップダウンで表示されます。
ちなみに、コードはこんな風でした。
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
この機能を使えば、ちょっとしたマスター画面は自動的に作成できることになります。
また、管理画面はカスタマイズ可能です。それについてはまた別のページで説明します。