model的meta 设定
検証内容 | バリデーションクラス |
---|---|
正規表現によるチェック | RegexValidator |
最小文字数 | MinLengthValidator |
最大文字数 | MaxLengthValidator |
最小値 | MinValueValidator |
最大値 | MaxValueValidato |
class Item(models.Model): name = models.CharField( max_length=50, verbose_name="名前", validators=[validators.RegexValidator( regex=u'^[ぁ-んァ-ヶー一-龠]+\u3000[ぁ-んァ-ヶー一-龠]+$', message='氏名は漢字・ひらがな・カタカナのみとし、氏と名の間に全角スペースを入れてください', )] ) age = models.IntegerField( verbose_name="年齢", validators=[validators.MinValueValidator(1)]) check_date = models.DateField( verbose_name="確認日", validators=[validators.MaxValueValidator( date.today(), message='本日以前の日付を入力してください', )], )
from django.db import models class Post(models.Model): no = models.IntegerField() name = models.CharField(max_length=128) class Meta: # 昇順 ordering = ["no"] # 降順 # ordering = ['-no'] # テーブル名をmypostに変更 db_table = 'mypost' # 管理サイト上のモデルの表記方法を変更 verbose_name = 'ポスト' # 単数形 # verbose_name_plural = 'ポスト群' # 複数形