【发布时间】:2021-05-16 05:33:29
【问题描述】:
我正在构建一个 BlogApp,但遇到了一个问题。
models.py
class Album(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE,default='',null=True)
file = models.ImageField(upload_to='posts',null=True,blank=True)
video = models.FileField(upload_to='videos',null=True,blank=True)
views.py
def new_story(request):
file = Album.objects.filter(user=request.user)
context = {'file':file}
return render(request, 'mains/new_story.html', context)
当我 count 使用时
video_limit = Album.objects.filter(user=request.user,video__isnull=False).count()
那么它也算file 对象,但我正在尝试count only video objects。
我想要做什么:-
Albummodel 中有两个fields,我正在尝试分别count file and video。当我使用{{ file.count }} 计算template 时,它会计算所有文件和视频,但是当我尝试单独计算{{ file.video.count }} 时,它没有显示。
我不知道,我怎么能分开计算。
【问题讨论】:
-
参见 Django 文档中的 Aggregation 章节
-
@yedpodtrzitko,但我没有
multiple models。 -
是的,你绝对应该阅读这一章。
-
我之前已经读过但是我没有找到
aggregation只在模型上 -
你应该得到错误...因为
file不包含video...它是一个查询集...不是单个对象...
标签: python django django-views