为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第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么