django - 为房地产项目建立过滤器

Lor*_* SC 0 django django-queryset django-haystack

为了练习我学到的东西,我开始了一个关于房地产网站的django项目.

下一步是构建搜索页面,用户可以选择multiple filters,对于为例,number of rooms,baths,area,city...

在我读的书中,我使用了搜索引擎(带有django haystack的Sorl),所以我想知道是否应该使用它来过滤数据库上的用户条件,或者我是否应该只使用djando查询来保持简单ifs.

你有什么建议我的?

小智 5

我可以部分理解你的问题.

根据我的个人经验,我建议使用Django过滤器.

考虑一下,如果您有以下搜索过滤器:

  1. 范围内的房间数(即,min_rooms = 2,max_rooms = 5)
  2. 列表中的浴室数量(即,浴室= [2,3])
  3. 列表中的城市(即,城市= [Chennai,Bangalore,Hyderabad])

然后,您可以使用单个查询

search_results = Property.objects.filter(no_of_rooms__gte=min_rooms, no_of_rooms__lte=max_rooms, no_of_bath_rooms__in=baths, city__in=cities)
Run Code Online (Sandbox Code Playgroud)

上面的查询返回满足所有3个条件的属性(即,每个Property对象将有2到5个,2个或3个浴室和来自Chennai/Bangalore/Hyderabad市的房间)