Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t在django datatables视图的datatables服务器端处理中使用搜索功能_Python_Django_View_Datatable_Server Side - Fatal编程技术网

Python Can';t在django datatables视图的datatables服务器端处理中使用搜索功能

Python Can';t在django datatables视图的datatables服务器端处理中使用搜索功能,python,django,view,datatable,server-side,Python,Django,View,Datatable,Server Side,我想要实现,因为我有很多数据要在一个页面中呈现(简单的数据表需要花费很多时间) 我尝试在我的项目中实现它,现在我可以成功地从服务器端检索数据,但无法使用“搜索””功能 如果我在searchbox中键入一些内容,它会显示一段时间的处理过程,但不会更新表中显示的数据列表 我使用了python 3.6.5和Django 2.0.6 下面是我使用的代码: html: <link rel="stylesheet" type="text/css" href="https://cdn.datatab

我想要实现,因为我有很多数据要在一个页面中呈现(简单的数据表需要花费很多时间)

我尝试在我的项目中实现它,现在我可以成功地从服务器端检索数据,但无法使用“搜索””功能

如果我在searchbox中键入一些内容,它会显示一段时间的处理过程,但不会更新表中显示的数据列表

我使用了python 3.6.5和Django 2.0.6

下面是我使用的代码:

html:

  <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
  <script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

  <script type="text/javascript">
    $(document).ready(function() {
    var a = $('#tl').dataTable( {
      "bPaginate": true,
      "bProcessing": true,
      "bServerSide": true,
      "sAjaxSource": "{% url 'order_list_json' %}"
    });
  });
  </script>
views.py:

from django_datatables_view.base_datatable_view import BaseDatatableView

.
.
.
.
.

class OrderListJson(BaseDatatableView):
    model  = Network1
    columns = ['barcode', 'volret', 'state', 'flags', 'capacity','typefull','ip']
    order_columns = ['barcode', 'volret', 'state', 'flags', 'capacity','typefull','ip']
    max_display_length = 100


    def get_initial_queryset(self):
        return Network1.objects.filter(barcode__in=Masterlist.objects.values('barcode'))

    def render_column(self, row, column):
        return super(OrderListJson, self).render_column(row, column)

    def filter_queryset(self, qs):

        search = self.request.GET.get(u'search[value]', None)
        if search:
            qs = qs.filter(name__istartswith=search)

        return qs

有人能帮我实现搜索功能吗?

我想你的错误在这里:

qs=qs.filter(name\u istartswith=search)

name
应该是要搜索的列的名称:

['barcode','volret','state','flags','capacity','typefull','ip']

from django_datatables_view.base_datatable_view import BaseDatatableView

.
.
.
.
.

class OrderListJson(BaseDatatableView):
    model  = Network1
    columns = ['barcode', 'volret', 'state', 'flags', 'capacity','typefull','ip']
    order_columns = ['barcode', 'volret', 'state', 'flags', 'capacity','typefull','ip']
    max_display_length = 100


    def get_initial_queryset(self):
        return Network1.objects.filter(barcode__in=Masterlist.objects.values('barcode'))

    def render_column(self, row, column):
        return super(OrderListJson, self).render_column(row, column)

    def filter_queryset(self, qs):

        search = self.request.GET.get(u'search[value]', None)
        if search:
            qs = qs.filter(name__istartswith=search)

        return qs