Python 2.7 分页时未进行筛选

Python 2.7 分页时未进行筛选,python-2.7,django-views,django-filter,django-pagination,Python 2.7,Django Views,Django Filter,Django Pagination,我在视图中添加了分页。分页工作正常,但当我筛选数据并导航到下一页时,它不会对筛选的数据进行分页,而是转到下一页,而不会进行筛选 视图 class CashFilter(django_filters.FilterSet): class Meta: model = NSE_Cash_Trades fields = {'dates':['lte','gte'],'order_entry_time':['lte','gte'],'trade_entry_tim

我在视图中添加了分页。分页工作正常,但当我筛选数据并导航到下一页时,它不会对筛选的数据进行分页,而是转到下一页,而不会进行筛选

视图

 class CashFilter(django_filters.FilterSet):

    class Meta:
        model = NSE_Cash_Trades
        fields = {'dates':['lte','gte'],'order_entry_time':['lte','gte'],'trade_entry_time':['lte','gte'],'trade_modified_time':['lte','gte'],'symbol':['exact'],'client_ac':['exact'],'buys_sell_indicator':['exact'],'participant_code':['exact'],'trade_qty':['exact'],'ctcls_id':['exact'],'order_num':['exact'],'trade_no':['exact']}


 def NSE_Cash_Trades_Search(request):
      f =CashFilter(request.GET, queryset=NSE_Cash_Trades.objects.all())
      paginator = Paginator(f.qs,100)
      page = request.GET.get('page')
      try:
         leads = paginator.page(page)
      except PageNotAnInteger:

         leads = paginator.page(1)
      except EmptyPage:

         leads = paginator.page(paginator.num_pages)

      t = loader.get_template('admin/newftp/search2.html')
      ctx=RequestContext(request,{'filter':f,"leads":leads,})
        return HttpResponse(t.render(ctx))`
模板

{% extends "admin/newftp/change_list.html" %}
{% block content %}
<h2><a href="/admin/newftp/nse_cash_trades?status=">Back to Nse Cash trade page</a></h2>
<form action="" method="get">
<!--Required for dynamic total of a column based on search filter
{% for k,v in result1.items %}
<input type="text" name="result1" value="{{ v }}"/>
{% endfor %}
input type="button" name="result1" value= "Total Value" 
-->
  {{ filter.form.as_p }}<br>
  <input type="submit" />
</form>
<div class="pagination">
    <table border="1">

  <tr>
  <th>Sr.No.</th>
  <th>Trade date</th>
  <th>Symbol </th>
  <th>Client Code </th>
  <th>Buy/Sell </th>
  <th>Participant Code</th>
  <th>Trade qty </th>
  <th>CTCL ID</th>
  <th>Order Number</th>
  <th>Trade no </th>
  <th>Order Entry Date Time</th>
  <th>Trade Entry Dt Time</th>
  <th>Trade modified time</th>
  <th>Trade Price</th> 
  <th>Trade Status</th>
  <th>Series</th>
  <th>Security Name</th>
  <th>Instrument Type</th>
  <th>Book Type</th>
  <th>Market Type</th>
  <th>User ID</th>
  <th>Branch ID</th>
  <th>Pro/Cli</th>
  <th>Auction Part Type</th>
  <th>Auction NO</th>
  <th>Sett Period</th>
  <th>Counter Party Id</th>
  </tr>

    {% for line in leads %} 
    <tr>
      <td>{{ forloop.counter}}</td>
      <td>{{ line.dates|date:"d/m/Y"}}</td>
      <td>{{ line.symbol}}</td>
      <td>{{ line.client_ac}} </td>
      <td>{{ line.buys_sell_indicator}}</td>
      <td>{{ line.participant_code}}</td>
      <td>{{ line.trade_qty}}</td>
      <td>{{ line.ctcls_id}}</td>
      <td>{{ line.order_num}}</td>
      <td>{{ line.trade_no}}</td>
      <td>{{ line.order_entry_time|date:"d/m/Y h:m:s"}}</td>
      <td>{{ line.trade_entry_time|date:"d/m/Y h:m:s" }}</td>
      <td>{{ line.trade_modified_time|date:"d/m/Y h:m:s" }}</td>
      <td>{{ line.trade_price }}</td>
      <td>{{ line.trades_status }}</td>
      <td>{{ line.series }}</td>
      <td>{{ line.security_name }}</td>
      <td>{{ line.instruments_type }}</td>
      <td>{{ line.books_type }}</td>
      <td>{{ line.markets_type }}</td>
      <td>{{ line.user_id }}</td>
      <td>{{ line.branchs_id }}</td>
      <td>{{ line.pros_cli }}</td>
      <td>{{ line.auctions_part_type}}</td>
      <td>{{ line.auction_num }}</td>
      <td>{{ line.sett_period }}</td>
      <td>{{ line.counter_party_id }}</td>
      </tr>
      {% endfor %}
</table>
  <span class="step-links">
    {% if leads.has_previous %}
    <a href="?page={{ leads.previous_page_number }}">previous</a>
    {% endif %}

    <span class="current">
      Page {{ leads.number }} of {{ leads.paginator.num_pages }}.
    </span>

    {% if leads.has_next %}
    <a href="?page={{ leads.next_page_number }}">next</a>
        {% endif %}
  </span>
</div>
{% endblock %}
{%extends“admin/newftp/change\u list.html”%}
{%block content%}
{{filter.form.as_p}}
高级专员:没有。 交易日期 象征 客户端代码 买卖 参与者代码 交易量 CTCL ID 订单号 交易编号 订单输入日期时间 贸易进入时间 交易修正时间 交易价格 贸易地位 系列 安全名称 仪器类型 书型 市场类型 用户ID 分支ID Pro/Cli 拍卖零件类型 拍卖编号 Sett周期 对方Id {潜在客户%中的行的百分比} {{forloop.counter} {{line.dates}日期:“d/m/Y”} {{line.symbol} {{line.client_ac} {{line.buys\u sell\u indicator} {{line.participant_code} {{line.trade_quantity} {{line.ctcls_id} {{line.order_num} {{line.trade{u no} {{line.订单{u条目{u时间}日期:“d/m/Y h:m:s”} {{line.trade_entry_time}日期:“d/m/Y h:m:s”} {{line.trade_modified_time}日期:“d/m/Y h:m:s”} {{line.trade_price} {{line.trades_status} {{line.series}} {{line.security_name} {{line.instruments_type} {{line.books_type} {{line.markets_type} {{line.user_id} {{line.branchs_id} {{line.pros_cli} {{line.auctions\u part\u type} {{line.auction_num} {{line.sett_period} {{line.counter\u party\u id} {%endfor%} {%if leads.has_previous%} {%endif%} 第{{leads.paginator.num_pages}页中的第{{leads.number}页。 {%if leads.has_next%} {%endif%} {%endblock%}

有人能帮我找到解决办法吗

这里您要做的是将请求值传递给URL,您必须在模板中进行如下更改

</table>
  <span class="step-links">
    {% if leads.has_previous %}
    <a href="?page={{ leads.previous_page_number }}&dates__lte={{request.GET.dates__lte}}&dates__gte={{request.GET.dates__gte}}&order_entry_time__lte={{request.GET.order_entry_time__lte}}&order_entry_time__gte={{request.GET.order_entry_time__gte}}&trade_entry_time__te={{request.GET.trade_entry_time__lte}}&trade_entry_time__gte={{request.GET.trade_entry_time__gte}}&trade_modified_time__lte={{request.GET.trade_modified_time__lte}}&trade_modified_time__gte={{request.GET.trade_modified_time__gte}}&symbol={{request.GET.symbol}}&client_ac={{request.GET.client_ac}}&buys_sell_indicator={{request.GET.buys_sell_indicator}}&participant_code={{request.GET.participant_code}}&trade_qty={{request.GET.trade_qty}}&ctcls_id={{request.GET.ctcls_id}}&order_num={{request.GET.order_num}}&trade_no={{request.GET.trade_no}}">previous</a>
    {% endif %}

{%if leads.has_previous%}
{%endif%}

对href next进行相同的更改请在模板中进行下面给出的更改,下面的代码将允许分页获得筛选值,因此它将通过筛选值进行分页。对下一个进行相同的更改

</table>
  <span class="step-links">
    {% if leads.has_previous %}
    <a href="?page={{ leads.previous_page_number }}&dates__lte={{request.GET.dates__lte}}&dates__gte={{request.GET.dates__gte}}&order_entry_time__lte={{request.GET.order_entry_time__lte}}&order_entry_time__gte={{request.GET.order_entry_time__gte}}&trade_entry_time__te={{request.GET.trade_entry_time__lte}}&trade_entry_time__gte={{request.GET.trade_entry_time__gte}}&trade_modified_time__lte={{request.GET.trade_modified_time__lte}}&trade_modified_time__gte={{request.GET.trade_modified_time__gte}}&symbol={{request.GET.symbol}}&client_ac={{request.GET.client_ac}}&buys_sell_indicator={{request.GET.buys_sell_indicator}}&participant_code={{request.GET.participant_code}}&trade_qty={{request.GET.trade_qty}}&ctcls_id={{request.GET.ctcls_id}}&order_num={{request.GET.order_num}}&trade_no={{request.GET.trade_no}}">previous</a>

{%if leads.has_previous%}

我也有同样的问题,我想我们必须将查询集vlaue传递给模板中的href。我明白你的意思,我实现了,但错误仍然存在@Krish