使用ajax和django根据用户提供的值进行过滤

米兰

我正在尝试开发过滤系统。筛选器系统提供3个选项,例如物业类型,房间数量和最高价格。根据这些选项中的选定值,用户将获得其搜索结果。例如,如果用户选择了公寓类型,房间数量为4,最高价格为12000,则用户将获得物业类型为带有42000个房间的公寓的房租。我使用React.js开发了前端部分,可以成功获取用户选择的数据。我也将数据传递给了ajax,但是我不知道我应该在服务器端做什么(Django Views)。任何人都可以启发我吗?我在正确的轨道上吗?

我的ajax代码:

 $.ajax({
        type:'GET',
        url:'/filter/space/',
        data:{property:propertySelectedValue,room:roomSelectedValue,price:maxPrice},
        success:function(data){

        },
         error:function(XMLHttpRequest, textStatus, errorThrown){
            console.error("Status: " + textStatus); alert("Error: " + errorThrown);
          },
      });
    },

Views.py

class FilterSpace(View):
    def get(self,request,*args,**kwargs):
        property = request.GET.get('property',None)
        room = request.GET.get('room', None)
        price = request.GET.get('price', None)
        rental = Rental.objects.all()
        if room:
            rental = rental.filter(room=room)
            print(rental)
        if price:
            rental = rental.filter(price__lte=price)
        if property:
            rental = rental.filter(property=property)
        rental_json = serializers.serialize('json',rental)
        return HttpResponse(rental_json),content_type="application/json")
杂货商

让我们假设这样的Django模型:

class Apartment(models.Model):
    rooms = models.IntegerField()
    price = models.IntegerField() # Can use Decimal,
                                  # but who quotes real estate prices with decimals?

接受过滤器作为称为rooms和的GET请求参数price,我们可以看到如下视图:

from django.views.generic import View

class ApartmentSearch(View):
     def get(self, request):
          rooms = request.GET.get('rooms', None)
          price = request.GET.get('price', None)

          # The base query takes all apartments
          apartments = Apartment.objects.all()

          # If a filter param is passed, we use it to filter
          if rooms:
              apartments = apartments.filter(rooms=rooms)
          if price:
              apartments = apartments.filter(price__lte=price)

          # Here you need to convert to JSON
          apartments_json = <convert to JSON>

          return HttpResponse(apartments_json)

要从jQuery发送参数,我会这样做:

$.ajax({
  url: "/api/apartment/search",
  type: "get", // HTTP GET
  data: {property: ..., rooms: ..., price: ...}, // The filter object
  success: function(response) {
    //Do Something
  },
  error: function(xhr) {
    //Do Something to handle error
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django-根据前端用户提供的信息进行查询。并非每次都使用所有过滤器。如何实现呢?

来自分类Dev

Django:根据另一行的值进行过滤

来自分类Dev

如何根据django模型中字段的比较值进行过滤?

来自分类Dev

Python Boto:根据标签和值进行过滤

来自分类Dev

如何使用PLSQL根据一列中的重复值和另一列中的连续值进行过滤?

来自分类Dev

根据每个用户的不同值过滤值

来自分类Dev

根据提供的值过滤嵌套键值对

来自分类Dev

如何根据登录用户进行过滤?

来自分类Dev

使用AJAX,PHP和MySQL在日期之间进行过滤

来自分类Dev

如何实现根据用户关键字进行搜索和过滤,以显示对象列表中的数据?

来自分类Dev

根据多个唯一值进行过滤

来自分类Dev

根据最接近的值进行过滤/合并

来自分类Dev

根据NULL值进行过滤选择

来自分类Dev

根据每组不同值的数量进行过滤

来自分类Dev

使用python根据其套件和值对卡进行排序

来自分类Dev

根据另一列对列中的值进行过滤和替换

来自分类Dev

根据选定的值过滤数据,在Google表格中按日期进行排序和计数

来自分类Dev

Typescript - 根据多个值对数组中的对象进行分组和过滤

来自分类Dev

Oracle查询根据子表中的值对表进行过滤和排序

来自分类Dev

使用 Django 过滤器根据用户配置文件限制对数据的访问

来自分类Dev

使用filter_if根据条件进行过滤

来自分类Dev

使用变量和IN进行过滤

来自分类Dev

根据用户帐户进行Power BI动态过滤

来自分类Dev

根据用户帐户进行Power BI动态过滤

来自分类Dev

智能gwt comboBoxItem不会根据用户输入进行过滤

来自分类Dev

根据动态用户输入对数据进行子集或过滤

来自分类Dev

根据以值结尾的值在何处进行过滤?

来自分类Dev

使用Ajax和无限滚动进行服务器端(PHP)过滤和排序

来自分类Dev

将用户提供的列表与表进行比较,对不匹配的行使用空值

Related 相关文章

  1. 1

    Django-根据前端用户提供的信息进行查询。并非每次都使用所有过滤器。如何实现呢?

  2. 2

    Django:根据另一行的值进行过滤

  3. 3

    如何根据django模型中字段的比较值进行过滤?

  4. 4

    Python Boto:根据标签和值进行过滤

  5. 5

    如何使用PLSQL根据一列中的重复值和另一列中的连续值进行过滤?

  6. 6

    根据每个用户的不同值过滤值

  7. 7

    根据提供的值过滤嵌套键值对

  8. 8

    如何根据登录用户进行过滤?

  9. 9

    使用AJAX,PHP和MySQL在日期之间进行过滤

  10. 10

    如何实现根据用户关键字进行搜索和过滤,以显示对象列表中的数据?

  11. 11

    根据多个唯一值进行过滤

  12. 12

    根据最接近的值进行过滤/合并

  13. 13

    根据NULL值进行过滤选择

  14. 14

    根据每组不同值的数量进行过滤

  15. 15

    使用python根据其套件和值对卡进行排序

  16. 16

    根据另一列对列中的值进行过滤和替换

  17. 17

    根据选定的值过滤数据,在Google表格中按日期进行排序和计数

  18. 18

    Typescript - 根据多个值对数组中的对象进行分组和过滤

  19. 19

    Oracle查询根据子表中的值对表进行过滤和排序

  20. 20

    使用 Django 过滤器根据用户配置文件限制对数据的访问

  21. 21

    使用filter_if根据条件进行过滤

  22. 22

    使用变量和IN进行过滤

  23. 23

    根据用户帐户进行Power BI动态过滤

  24. 24

    根据用户帐户进行Power BI动态过滤

  25. 25

    智能gwt comboBoxItem不会根据用户输入进行过滤

  26. 26

    根据动态用户输入对数据进行子集或过滤

  27. 27

    根据以值结尾的值在何处进行过滤?

  28. 28

    使用Ajax和无限滚动进行服务器端(PHP)过滤和排序

  29. 29

    将用户提供的列表与表进行比较,对不匹配的行使用空值

热门标签

归档