为clinic/edc添加仪表板方法的模型包装器。

edc-model-wrapper的Python项目详细描述


pypitraviscodecovdownloads

EDC模型包装器

使用自定义包装器包装模型实例,以添加edc仪表板和列表板所需的方法。

classExampleModelWrapper(ModelWrapper):model='edc_model_wrapper.example'next_url_name='edc-model-wrapper:listboard_url'next_url_attrs=['f1']querystring_attrs=['f2','f3']defhello(self):return'hello'defgoodbye(self):return'goodbye'

用模型实例实例化,是否持久化:

model_obj=Example(f1=1,f2=2,f3=3)wrapper=ExampleExampleModelWrapper(model_obj=model_obj)

为列表板、数据板等中的模型对象获取带有“next”的“admin”url,

>>>wrapper.href'/admin/edc_model_wrapper/example/add/?next=edc-model-wrapper:listboard_url,f1&f1=1&f2=2&f3=3'

获取不包含“下一个”查询字符串数据的管理URL:

>>>wrapper.admin_url_name'/admin/edc_model_wrapper/example/add/'

反转下一个URL:

>>>wrapper.reverse()'/listboard/1/'

attributemodel是一个模型类,不管它是如何声明的:

>>>assertwrapper.model==ExampleTrue

所有字段属性都转换为字符串并添加到包装器中,外键除外:

>>>wrapper.f11>>>wrapper.f22

当然,可以使用自定义方法/属性:

>>>wrapper.hello()'hello'>>>wrapper.goodbye()'goodbye'

如果需要,可以访问原始对象:

>>>wrapper.object<Example>

例如,要访问原始字段值:

>>>wrapper.report_datetime'2017-06-01 15:04:41.760296'>>>wrapper.object.report_datetimedatetime.datetime(2017,6,1,15,4,55,594512)

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

推荐PyPI第三方库


热门话题
线程“main”java中的非Maven规则项目异常。lang.RuntimeException:找不到默认会话   java数组项目似乎只打印空值   java TestNG:当@BeforeClass方法失败时,会跳过所有后续的测试类吗?   java增加永久空间(Tomcat7,Windows服务)   java错误消息“蓝牙不可用”真的不确定原因   如何在FreeMarker中调用公共Java变量   在Android上更新弹出窗口上的textview时出现java错误   java在声明cassandra族时指定列_元数据始终是个好主意吗?   安卓如何在一个java文件中调用两个run方法   java如何检查数组元素是否存在?   java无法在执行任务时将文本附加到jtextarea   java为什么在第一个gc之前有一个未卸载的完整gc,在gc调用之前的堆=0(完整1)?   无根权限的Android中java读取/sys/class文件   java为什么我的KeyListener不读取键?