django model field validator 设置
来源:互联网 发布:淘宝改差评收费 编辑:程序博客网 时间:2024/06/07 01:31
例子为想在创建用户名的时候验证输入字符是否有效,并且插入了even_field为Category
model.py 中加入:
from django.core.exceptions import ValidationError
import re
def validate_letter(value):
p = re.compile(r'^[\d\w_]{1,30}$')
if p.match(value) == None:
raise ValidationError(u"Username can only have digital, letter and '_'.")
def validate_even(value):
print 'validate_even'
if value % 2 != 0:
raise ValidationError(u'%s is not an even number' % value)
class Category(models.Model):
title = models.CharField(max_length=100, db_index=True, validators=[validate_letter])
slug = models.SlugField(max_length=100, db_index=True)
even_field = models.IntegerField(validators=[validate_even])
============================
注意事项:
1 用python manage.py shell 验证时,validationError,不会被抛出. 但是在admin中可以验证。
why?
2 如果要在models的class中插入新的数据项,需要删除原来database中的此table,不然无法插入新的field
a. 删除talbe,mysql命令:
drop table xxxx;
b. 重新创建数据库table
python manage.py syncdb
- django model field validator 设置
- django model field 设置默认值
- django Model Field options
- django model field类型
- django model field
- 如何动态设置django的model field的默认值
- Django Model字段类型(Field Types)
- Django 模型字段类型总结 (Django Model field types summary)
- django 修改model field后台默认的显示方式
- How to replace a Django model field with a property
- Django field
- Django field
- Django model
- Django model
- Django model
- django model
- django--Model
- Django-Model
- Where's Waldorf?
- oracle 一条龙学习
- OpenGL ES的状态机说法其实也没那么云山雾照,比较容易理解!
- OpenGL ES 版本与iOS版本的支持对应关系以及EAGL的来源分析
- Erlang学习:通过参数实现状态保存
- django model field validator 设置
- 电影中的黑客高手都是这样编程的
- UVA 11800 Determine the Shape
- 1385:重建二叉树 @jobdu
-
- JSB CCDictionary CCDictionary to JSB CCDictionary绑定jsb plist file
- 海外邮件中继转发原理
- sublime text 3+mingw 编译system("pause"):时报错,error: 'system' was not declared in this scope system("
- Twitter Data Analytics