newforms-admin初級編 続き

前回の続きです。


Djangoのadmin interfaceは、models.pyに記述していくと
filterやsearchなどの機能を追加しカスタマイズすることが出来ます。


安定版・開発版では

	class Admin:
		pass

pass以下に記述します。
例として、検索の機能を追加します。検索対象はshort_name, long_nameとします。

	class Admin:
		search_field = ['short_name', 'long_name']

newforms-adminでは少し違ってきます。
上記の安定版・開発版と同じように検索機能を追加します。
ついでに、Addressクラス名の表示が"Addresss"となっているので正しい表記にしておきます。

  • 解りづらいかもしれないのでmodels.py全体を記述します。
from django.db import models
from django.contrib import admin
# Create your models here.

class Address(models.Model):
	short_name = models.CharField(max_length=20)
	long_name = models.CharField(max_length=80)
	addr_line_1 = models.CharField(max_length=80, blank=True)
	addr_line_2 = models.CharField(max_length=80, blank=True)
	city = models.CharField(max_length=50)
	state = models.USStateField()
	zip = models.CharField(max_length=10, blank=True)

	def __uicode__(self):
		return self.short_name

	class Meta:
		verbose_name_plural = 'Addresses'

class AddressOptions(admin.ModelAdmin):
	search_fields = ['short_name', 'long_name']

admin.site.register(Address, AddressOptions)

このようにAdmin Interfaceをカスタマイズすることが出来ます。
そして、newforms-adminはmodels.pyと分離してadmin.pyなどとして別管理することも出来ます。


次はもう少しカスタマイズしていきます。