Djangoで属性やモデルを追加して管理画面に表示させるまでのメモ


変更するのはアプリのmodels.pyファイル。また、環境は、Amazon Linux,Python 3.4.3,Django 1.8です。

属性の追加

例えば、
boardgame = models.FloatField('ボードゲーム') # 追加してみた行
みたいな行をクラスに追加したら、

python3 manage.py migrate
をする。

また、設定の時に、デフォルトの値を決めて置かないと聞かれる場合がある。

今回は、
python3 manage.py migrateができないときのメモ | kazsoga(曽我一弘)ブログ
を参考に、blank=True, null=Trueを追加。

boardgame = models.FloatField('ボードゲーム', blank=True, null=True)

この設定方法は、いろいろと変化しそう。都度、調べる。

問題なければ、Adminの管理画面に追加される。

モデルの追加

例えば、
class boardgame(DatedModel):
class Meta:
name = models.FloatField('名前')
def __unicode__(self):
return self.name

みたいな内容をクラスとして追加したら、

python3 manage.py makemigrations appname
をして、
python3 manage.py migrate
をする。

で、アプリのadmin.pyに
admin.site.register(models.boardgame)
の行を追加。

これで、Admin画面に表示される。