小弟做了一个综合查询的表单,想根据各种条件组合进行查询,具体如下:
条件一;条件二;条件三;条件四;条件五。(五个条件没有从属关系,可以任意组合也可以一个都不选,且都是同一model的字段。)
上面的条件使用下拉列表做了限制,现在问题来了:如果使用model.objects.filter(var1=条件一,var2=条件二,......),这样进行查询的话,如果碰到没有选择的条件如何处理?有没有这样的处理方式:将没有选择的条件视为‘none’或者‘null’,最后自动将被选择的条件直接生成查询语句?在网上搜索到了关于“动态查询”的相关信息,也找到了一些解决方法,但是感觉都与我这个问题不一样,都是将字段与变量作为参数进行传递然后查询,这样的话我需要将5种条件若干种组合分别写出参数。感觉有更好的方法来解决,特来求助,希望各位给予帮助给出解决方法或思路,谢谢!