python过滤sql_python如何用源生的sql语句查询有多个参数要进行过滤的情况

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是从网页post进来的数据(其实要查询的数据还有,所以才考虑有源生的sql):

def search_log(request, context, id_m):

if request.method == 'POST':

platform = request.POST['platform']

product = request.POST['product']

device = request.POST['device']

ip = request.POST['ip']

这个是使用django自带的查询写的,但是条件要是很多就相当不方便

if platform and product and device:

result_list = CrashLog.objects.filter(platform=platform, product=product, device=device)

elif platform and product:

result_list = CrashLog.objects.filter(platform=platform, product=product)

elif platform and device:

result_list = CrashLog.objects.filter(platform=platform, device=device)

elif device and product:

result_list = CrashLog.objects.filter(product=product, device=device)

elif ip:

result_list = CrashLog.objects.filter(ip=ip)

elif ip and platform and product and device:

result_list = CrashLog.objects.filter(platform=platform, product=product, device=device, ip=ip)

elif ip and platform and device:

result_list = CrashLog.objects.filter(platform=platform, device=device, ip=ip)

elif ip and device and product:

result_list = CrashLog.objects.filter(product=product, device=device, ip=ip)

else:

result_list = CrashLog.objects.all().filter(Q(platform=platform) | Q(product=product) | Q(device=device))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值