0

下面是相關代碼:Django ManyToMany與查詢集關聯到分頁?

models.py

class Blog(models.Model): 
    ... 
    images = models.ManyToManyField('myapp.Image') 

class Image(models.Model): 
    ... 
    title = models.CharField(max_length=60, blank=True, null=True) 
    image = models.FileField(upload_to=content_file_name) 
    body = models.TextField(blank=True) 
    citation = models.URLField(blank=True) 

views.py

def view_post(request, slug): 
    ... 
    dablog = Blog.objects.get(slug=slug) 
    image_list = dablog.images.all() 
    paginator = Paginator(image_list, 1) 
    ... 

在我創建了一個博客對象和兩個圖像對象相關的管理那個博客。我上面發佈的代碼只是將第一個Image對象發送給paginator,我無法弄清楚原因。我知道我的分頁程序代碼的其餘部分與模板代碼的工作,因爲如果我將其更改爲

image_list = Image.objects.all() 

我可以通過分頁數據庫中的兩個圖像。請幫助,這是推動我瘋了

+0

嗨!您能否向我展示您的所有代碼,我對Paginator –

回答

0

您定義分頁程序只顯示一個圖像

def view_post(request, slug): 
    ... 
    dablog = Blog.objects.get(slug=slug) 
    image_list = dablog.images.all() 
    paginator = Paginator(image_list, 2) 
    ... 

這樣,會顯示兩個圖像。

+0

有點陌生不,我將paginator定義爲每頁僅顯示一個圖像。問題是,如果你調用'len(image_list)'你會得到什麼值,應該有 – user2458044

+0

沒有「next」頁面? –

+0

兄弟你走錯了方向。如果你不明白,請重新閱讀。特別是說image_list = dablog.images.all()的部分只給了我一個圖像時,它應該兩個while image_list = Image.objects.all()顯示我我可以分頁但不給我需要的圖像 – user2458044