※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 Ajaxじゃないものでよいならば、 Railsで作るAjax住所録 とか、 「Railsで作るAjax住所録」をTurboGearsで作ってみた とかは、次のようなmodels.pyを書けば完成する(見た目は、 ここに出てくるような感じ )。慣れれば1分前後で完成。
1対1とか1対複数とか複数対複数とかも自動管理画面で扱えるよ。
from django.db import models
from django.utils.translation import gettext_lazy as _
# Create your models here.
class Person(models.Model):
#入力がからだっったり、100文字以上だったりすると入力エラーメッセージが表示される
name = models.CharField(_('name'), blank=False, maxlength=100)
#入力があって形式がメールアドレスとして正しくないと入力エラーメッセージが表示される
email = models.EmailField(_('email'), blank=True)
#入力があって形式が電話番号として正しくないと入力エラーメッセージが表示される
tel = models.PhoneNumberField(_('Telephone'), blank=True)
#どんな入力でも良い
note = models.TextField(blank=True)
class Meta:
#デフォルトのソート順はnameフィールドで行う
ordering = ["name"]
#モデル自体の名前(単数形)
verbose_name = _('Person')
#モデル自体の名前(複数形)
verbose_name_plural = _('People')
class Admin :
#管理画面の一覧に表示されるフィールドとその順序の指定
list_display = ('name', 'email', 'tel', 'note')
#管理画面の検索で検索されるフィールドの指定
search_fields = ('name', 'email', 'tel', 'note')
#オブジェクトが管理画面で表示される際の表示
def __str__(self):
return self.name
さて、次はAjax版。