2017-03-08 43 views
0

我查询集是目前posts我认为值。不过,我想,当用户导航到new URL我的查询集更改为Post.objects.all().filter(category=category).order_by('-date')。这里是我的代码:如何更改视图中变量的值?

网址

url(r'^$', boxes_view, name='home'), 
url(r'^new/$', boxes_view, name='new'), 

意见

def boxes_view(request): 
    ... 
    posts = Post.objects.all().filter(category=category).annotate(score_diff=F('score__upvotes') - F('score__downvotes')).order_by('-score_diff') 

模板

... 
<button id="sort_new"><a href="{% url 'new' %}">New</a></button> 

是否有可能改变的posts值通过new URL会是什么时候?

+0

这没有任何意义。你不能有两个相同的URL。 –

+0

我的错误已修复。 – Zorgan

回答

4

我真的不明白你正在尝试做的。但是您可以将参数从urls.py传递到视图:

url(r'^$', boxes_view, {'order': '-score_diff'}, name='home'), 
url(r'^new/$', boxes_view, {'order': '-date'}, name='new'), 

def boxes_view(request, order): 
    ... 
    posts = Post.objects.all()...order_by(order) 
+0

这似乎使用正确的方法,但是我试了一下,我的'new'网址传回一个空的查询集。任何想法为什么?我在'posts'上使用了一个for循环,并且它在/ new / – Zorgan