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