扩展需求环境
django get方法默认获取不到对象就抛出异常,但是对于处理数据来说,每次都去try catch 会让我很烦,用过了odoo ,觉得django 这点默认很不友好(odoo 获取不到会返回None)。
实现
对于这个问题,原谅我api没看完整(也可以说记忆不深),我马上想到的是打补丁,去api查看资料后,发现django的补丁很特别(针对odoo来说,odoo不修改源码,打在源码外面),直接修改源码的。
其实这是个人习惯问题,即使提了这个补丁,官方肯定也不会通过,这个补丁只是我自娱自乐而已。
搜索了很久,没有结果,放弃打补丁这种。
换了一种思路搜索,我查阅了 django extend queryset 没想到竟然很大收获,下面是搜到的相关链接
这种方式在django 的api 里面是有的
通过自定义相关的查询集方法,就做到了,这里就不实际贴代码了,只负责教钓鱼