Admin siteのlist_editableを使う
新機能を使う
list_editableもDjango1.1で追加された機能です。
modelとadminの作成
mode,s.py
from django.contrib.auth.models import User
from django.db import models
class Blog(models.Model):
title = models.CharField(max_length = 50)
author = models.ForeignKey(User)
content = models.TextField()
post_date = models.DateTimeField()
def __unicode__(self):
return self.title
admin.py
from django.contrib import admin
from appname.models import Blog
class BlogAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'post_date')
設定する前に注意
list_editableを使用するには少しだけ注意する必要があります。
- まずlist_displayに登録されていること。
- さらにlist_display_linksとかぶっていないこと。
上記を満たしたfieldが対象になります。
適応前のAdmin site
list_editable適応前のAdmin site
admin.pyの編集
ForeignKeyの'author'とDateTimeFieldの'post_date'をlist_editableに追加します。
admin.py
from django.contrib import admin
from appname.models import Blog
class BlogAdmin(admin.ModelAdmin):
list_display = ('title', 'author', 'post_date')
list_editable = ['author', 'post_date']
適用後のAdmin site
ForeignKeyのfieldがChange listで修正できるのは便利ですね。
積極的に使っていきたい機能ですね。

