django - 如何从 Django 中的 Queryset 返回几个 FileField?
问题描述
我有一个带有 FileField 的视频模型。
当我只上传一个视频时,我可以在view.py中使用以下代码返回它:
def cours(request, id, slug):
c = Cours.objects.get(id=id, slug=slug)
p = Plan_simple.objects.get(cours=c)
return render(request, 'upload/cours.html', locals())
但是,当我使用表单集上传两个或更多视频,并且我通过过滤器更改获取功能时,它不起作用:
def cours(request, id, slug):
c = Cours.objects.get(id=id, slug=slug)
p = Plan_simple.objects.filter(cours=c)
return render(request, 'upload/cours.html', locals())
模型.py
class Cours(models.Model):
titre = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
auteur = models.CharField(max_length=42)
comment = models.TextField(null=True)
link = models.CharField(max_length=100)
date = models.DateTimeField(default=timezone.now, verbose_name="Date de parution")
categorie = models.ForeignKey('Categorie', on_delete=models.CASCADE)
def save(self, *args, **kwargs):
self.slug = slugify(self.titre)
super(Cours, self).save(*args, **kwargs)
class Meta:
verbose_name = "cours"
db_table = "cours"
ordering = ['date']
class Plan_simple(models.Model):
partie = models.CharField(blank=True, max_length=100)
date = models.DateTimeField(default=timezone.now, verbose_name="Date de parution")
vid = models.FileField(upload_to='file/', blank=True, null = True)
cours = models.ForeignKey(Cours, related_name = "plan_simple", on_delete=models.CASCADE)
def __str__(self):
return self.partie
class Meta:
db_table = "plan_simple"
你能帮助我吗?
谢谢
解决方案
问题在于这条线。它不向数据库请求任何内容。它只指定一个过滤器。
p = Plan_simple.objects.filter(cours=c)
你应该把它改成这样...
p = Plan_simple.objects.filter(cours=c).all()
推荐阅读
- python-3.x - 我正在尝试使用 Selenium 在网站中选择并单击一个按钮,但有多个按钮具有相同的类
- android - Firebase ML Kit:“内部错误”异常,但输入良好且配置良好
- mongodb - 在 VS Code 中安装 mongo/mongodb
- html - 使用带有 1 个按钮的 nodejs 更新文件
- c++ - Where to put using directives in C++ header files
- javascript - 如何使用 Webpack 从 Vue 路由器生成 sitemap.xml?
- jasper-reports - 如何在 Jasper 中缩放子报表?
- angular - 此条件将始终返回 'false',因为类型 'boolean' 和 '1' 没有重叠
- c# - 只取包含字符串并跳过剩余字符串 C#
- html - how to implement floating label