Python Can';t在django datatables视图的datatables服务器端处理中使用搜索功能
我想要实现,因为我有很多数据要在一个页面中呈现(简单的数据表需要花费很多时间) 我尝试在我的项目中实现它,现在我可以成功地从服务器端检索数据,但无法使用“搜索””功能 如果我在searchbox中键入一些内容,它会显示一段时间的处理过程,但不会更新表中显示的数据列表 我使用了python 3.6.5和Django 2.0.6 下面是我使用的代码: html: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
<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