django中相关字段的分页结果?

django中相关字段的分页结果?,django,model,django-queryset,Django,Model,Django Queryset,假设我有以下模型 Class Blog: pass class Entry: models.ForeignKey(Blog) 我想做这样的事情 按某些条件筛选和排序博客 获取第2页的相关条目 我能做比下面更好的事吗 blog_ids = Blog.objects.filter(q).order_by(order) entry_qs = Entry.objects.filter(id__in=blog_ids) paginator = Paginator(entry_qs) entri

假设我有以下模型

Class Blog:
  pass

class Entry:
  models.ForeignKey(Blog)
我想做这样的事情

按某些条件筛选和排序博客 获取第2页的相关条目 我能做比下面更好的事吗

blog_ids = Blog.objects.filter(q).order_by(order)
entry_qs = Entry.objects.filter(id__in=blog_ids)
paginator = Paginator(entry_qs)
entries = paginator.page(2)
我认为您需要在条目上使用order_by,而不是blog对象。实现博客条目排序和分页的一种更简单的方法是使用基于类的视图,如ListView。例如,在your views.py中:

from django.views.generic import ListView
from .models import Entry

class BlogView(ListView):
    queryset = Entry.objects.order_by("-date")
    paginate_by = 10
您需要在URL.py中提到它:

url(r'^$', BlogView.as_view(), name='home'),
现在,如果您使用像/page=1这样的url,它将显示作为对象列表传递的第二页条目