【发布时间】:2020-12-12 14:27:50
【问题描述】:
我有这个 model.py 文件:
class Category(models.Model):
title = models.CharField(max_length=255, verbose_name="Title")
class Meta:
verbose_name_plural = "Categories"
def __str__(self):
return self.title
class Video(models.Model):
title = models.CharField(max_length=128)
description = models.TextField(default='')
thumbnail = models.ImageField(default='default_thumbnail.png', upload_to='thumbnails')
date_posted = models.DateTimeField(default=timezone.now)
category = models.ForeignKey(
Category,
on_delete=models.SET_DEFAULT,
#null=True,
default=1,
verbose_name="Category"
)
def __str__(self):
return self.title
每个视频都有自己的类别,我想在一个页面上显示每个类别中给定数量的电影。
目前,我只显示页面上的最后 5 个视频:
def home(request):
latest_videos = Video.objects.all().order_by('-date_posted')[:5]
categories = Category.objects.all()
context = {
'latest_videos': latest_videos,
#'categories': categories,
}
return render(request, 'videos/home.html', context)
我不知道如何在每个类别中显示给定数量的电影。我尝试发送所有视频并在模板上查询它们,但这可能是不可能的。
有什么想法吗?我还在学习Django,但是这次我发现了一个我一整天都解决不了的问题。 谢谢
【问题讨论】:
-
这能回答你的问题吗? Django prefetch_related with limit
标签: django django-models