关于传入可变参数,使用search方法查询订单

传入可变参数,使用search方法查询订单,一开始,我使用的是sql语句拼接的方法,类似这种:

sql = """select * from online_order where """
if orderid is not None:
   sql = sql + "orderid = " + orderid
if orderBusinessType is not None:
   sql = sql + "orderBusinessType" + orderBusinessType
            

但是这种方法看起来还是比较繁琐,所以改用**kwargs可变参数,当传入参数后,因为他是个字典,并不符合odoo中domain的用法格式,因此,需要分别取出字典的键和值,重新拼接到domain中

@route('/oms/get/getOrderList', type='http', auth='none', cors='*', csrf=False)
def get_order_type_list(self, **kwargs):
	domain = []
	for k, v in kwargs.items():
	   factor  = (k, '=', v)
	   domain.append(factor)
	result = request.env['online_order'].search(domain)

这样就解决了参数不定,不好使用search查询功能的问题

def get_order_type_list(self, **kwargs):
	domain = []
	for k, v in kwargs.items():
	    if k == 'start_time':
	        factor = ('ordertime', '>', v)
	        domain.append(factor)
	    elif k == 'end_time':
	        factor = ('ordertime', '<', v)
	        domain.append(factor)
	    else:
	        factor = (k, '=', v)
	        domain.append(factor)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值