【问题标题】:how to return several FileField from Queryset in Django?如何从 Django 中的 Queryset 返回几个 FileField?
【发布时间】:2020-08-13 07:27:57
【问题描述】:

我有一个带有 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())

models.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"

你能帮帮我吗?

谢谢

【问题讨论】:

    标签: django filter django-queryset filefield


    【解决方案1】:

    问题在于这条线。它不向数据库请求任何内容。它只指定一个过滤器。

    p = Plan_simple.objects.filter(cours=c)
    

    你应该把它改成这个...

    p = Plan_simple.objects.filter(cours=c).all()
    

    【讨论】:

      猜你喜欢
      • 2015-04-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      相关资源
      最近更新 更多