模型清理方法和验证错误连接的混合

django-model-cleanup的Python项目详细描述


https://img.shields.io/pypi/v/django-model-cleanup.svghttps://img.shields.io/travis/wooyek/django-model-cleanup.svgDocumentation StatusCoveralls.io coverageCodeCov coverageMaintainabilityLicenseTweet about this projecthttps://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg< P>混合模型用于模型清理方法和验证错误连接

H2>洁精蛋白的特征
  • 提供干净的方法实现
  • 调用完全清除将导致调用所有清除方法
  • 无论验证错误如何,都将调用所有方法-一次获取所有错误
  • 如果错误没有错误,则根据干净的方法名自动将错误映射到字段名

快速启动

安装django模型清理程序:

pip install django-model-cleanup

在您的模型中添加MIXIN,并在 FuluCurry被称为:

时,享受 Cuffy方法集合和错误级联。

fromdjango.core.exceptionsimportValidationErrorfromdjango.dbimportmodelsfromdjango.utils.translationimportugettext_lazyas_fromdjango_model_cleanupimportCleanMixin,ExtensibleValidationErrorclassSomeModel(CleanMixin,models.Model):lorem=models.CharField(max_length=10,blank=True)defclean_foo(self):raiseValidationError('Foo is bad')defclean_bar(self):raiseExtensibleValidationError({'bar':_('Bar is wrong cause %s > %s!')},code='bar',params=(2,1))defclean_legacy(self):# We can't init ValidationError as one-liner, cause dict + params are not compatible# We need to wrap a message in ValidationError and put that in dict indicating a fieldmsg=_('Bar legacy error %s > %s!')error=ValidationError(msg,code='bar',params=(7,5))raiseValidationError({'bar':error})

不再需要每次错误处理和连接:

# This is not longer required:defclean(self):errors=[]try:self.clean_foo()exceptValidationErrorasex:errors.append(ex)errors=[]try:self.clean_bar()exceptValidationErrorasex:errors.append(ex)errors=[]try:self.clean_legacy()exceptValidationErrorasex:errors.append(ex)iferrors:raiseValidationError(errors)

运行测试

代码真的有用吗?

::
$pipenv安装–开发 $pipenv外壳 $tox

我们建议使用pipenv,但创建virtualenv和安装需求的传统方法也应该有效。 请安装requirements/development.txt以设置用于测试和开发的虚拟环境。

学分

这个包是用Cookiecutterwooyek/cookiecutter-django-app项目模板创建的。

历史记录

0.1.0(2017-12-05)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java FloatingAction按钮与RecyclerView中的CardView重叠   java如何计算CardLayout中的卡数   从远程系统上传MySQL数据库并访问Java应用程序   java调用堆栈如何处理带或不带返回类型的递归?   Springboot中的java组计数聚集   java如何在javafx textarea中使用richtextfx   获取与Mockito相关的错误时出现Java问题   java如何将JaxRS响应转换为Wiremock响应   Hadoop集群java。net ConnectionException:连接被拒绝错误   java如何加载文件私有文件类型是pem   java在元空间中的提升和加载的类   如何将系统属性传递给从HTML启动的Java小程序   java如何从网页中获取值并在主类中使用它?安卓应用   java在春天,advisor和aspect之间有什么区别?   java如何检测文件是否已重命名?   java消息驱动Bean何时使用