调用模型的save()时自动验证

django-smart-save的Python项目详细描述


进行save调用full_clean

您认为django模型save方法将验证所有字段吗 (即,在保存之前或任何时候调用full_clean)?错了!

当我不明白为什么的时候,我发现了这个可怕的事实 带有电子邮件字段的模型对象(没有blank=true)可以是 以空字符串保存为电子邮件地址。

更多信息:

安装

首先将应用程序添加到python路径。最简单的方法是 pip

pip install django-smart-save

您应该下载源代码并运行:

$ python setup.py install

配置

确保安装了django.contrib.auth,并添加智能保存 应用程序到已安装的应用程序列表:

INSTALLED_APPS = (
    ...
    'django.contrib.auth',
    'smart_save',
)

您可以在项目设置中指定不同的方法名(默认值:如果有效,则保存):

SMART_SAVE_METHOD = ‘my_save’

使用概述

很简单:

>>> user = User(username="chris")
>>> user.save_if_valid()
True
>>> user = User(username="")
>>> user.save_if_valid()
False
>>> user._errors
{'username': ['This field cannot be blank.']}

许可证

任何人都可以根据BSD的条款自由使用或修改本软件 执照。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Hibernate中从两个具有不同功能的表(postgreSQL)映射一个实体   java jfreechart需要自定义Y轴,以便打印   Java:从外部获取类。罐子   java如何获取Appium服务器日志   具有完全相同内容的java重写函数会导致错误   java消息的类路径是什么。属性(如果在依赖项jar中)   循环/相等的java问题==   java如何使用ionic cordova angularjs将所选图像发送到spring controller以保存到服务器?   库中的java语言环境数据   java从JSON webservice检索安卓中的字节[]   调试如何从Java中的类调试方法?   java将日期字符串切割成变量   无法使用java附加到文件?