https://my.oschina.net/esdn/blog/834943
上面链接里写的不错,我从那里学到很多。下面说说我想解决的问题。
我想写一个接口让用户可以通过多个条件进行楼盘筛选,筛选条件类型下面数据结构:
{
‘local’: ['园区', ‘新区’],
‘price’:['2W-3W', '3W-4W'],
'type': ['精装修']
}
废话不多说,下面贴代码:
def get_home(request):
'''多条件搜索'''
print(request.GET)
print(dict(request.GET))
con = Q()
for i in dict(request.GET):
print(i, type(i))
qs = Q()
qs.connector = 'OR'
value_i = dict(request.GET)[i]
print(value_i, type(value_i))
for s in value_i:
qs.children.append((i, s))
con.add(qs, 'AND')
print(con)
home= models.Home.objects.filter(con)
print(home)
res = {