| 検証内容 | バリデーションクラス |
| 正規表現によるチェック |
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 = 'ポスト群' # 複数形