2014-01-13 47 views
0

假設我有以下模型。django中的相關字段的分頁結果?

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) 
      

    回答

    0

    我認爲你需要使用order_by而不是博客對象。實現博客條目排序和分頁的更簡單的方法是使用基於類的視圖,如ListView。例如。在views.py:

    from django.views.generic import ListView 
    from .models import Entry 
    
    class BlogView(ListView): 
        queryset = Entry.objects.order_by("-date") 
        paginate_by = 10 
    

    您需要在urls.py提到它:現在

    url(r'^$', BlogView.as_view(), name='home'), 
    

    ,如果你使用一個url像/page=1它會顯示條目的第二頁(通過爲object_list