允许您创建与特定模型相关的动态规则

django-dynamic-rules的Python项目详细描述


有时,当你为其他人开发应用程序时,他们喜欢定义自己的一组“规则”。


例如,一个客户可能会说
模型上某个字段的值在100到1000之间时可能是有效的。另一个客户
可能认为只有当值介于
500和1000之间时,同一字段才有效。


这种验证在ModelForm的
clean方法中非常难进行,就像您事先知道有效值应该是什么一样。


此应用程序允许您为不同的与其他任意模型相关联的任意参数。然后,每个客户都可以定义
规则参数对其特定组织的作用。



用法:
首先创建一个名为dynamic_actions的文件。
在dynamic actions中,必须向dynamic_rules站点注册规则类

rule类必须具有以下属性:
key:使用注册表
display\u name标识规则类:用于管理窗体显示可读名称的名称
字段:字段名称字典和django窗体类。这将声明
可用的参数。

以下可选属性可用:
类别:在管理中的“关键字”下拉列表中用作选项组标题的分组,以便于组织规则。
如果未提供类别,规则默认为“uncategorized”。

此外,rule类必须接受rule_model和model_to_check
作为初始化参数,并具有一个接受
*参数和**kwargs的run方法。


若要查看正在运行的动态规则,请从此项目中同步数据库,然后向管理员发出
。创建与组对象绑定的规则:1(即customer 1)
和内容类型:'customer'


从示例应用程序中添加一个modeltocheck模型,该模型的值
违反了您的规则。检查runserver控制台,并查看是否打印了
冲突。

或者django动态操作
,它允许您由于触发的规则而操作其他数据。

-http://pypi.python.org/pypi/django动态验证
-http://pypi.python.org/pypi/django动态操作



Django类注册表(0.0.3)
,它像字典一样处理注册表。


“dynamic_rules.site”现在应称为“dynamic_rule.rule_registry”
但是,您可以访问“site”一段时间。我们只相信“rule_registry”
是一个更好的名字。

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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联