我正在创建一个文章应用程序(在Django中),文章中可以包含图像。我只想获得具有至少一张图像的文章。我已经尝试过:
Article.objects.all().annotate(num_extra=Count("Image")).order_by("-num_extra")
但是,这仅返回了以最多图像开始的排序查询集,而那并不是我想要的。 有办法吗?
我的模型。py
class Article(models.Model):
id = models.CharField(max_length=8, default=None, primary_key=True, blank=True, verbose_name="ID", unique=True, editable=False)
Category = models.ForeignKey(Category, default=None, on_delete=models.CASCADE, verbose_name="Kategorie")
text = models.CharField(max_length=678543)
#And some other fields
class Image(models.Model):
Article = models.ForeignKey(Article, on_delete=models.CASCADE, default=None, verbose_name="Artikel")
authors = models.ManyToManyField(User, verbose_name="Autor", default=None, blank=True)
#And some other fields
答案 0 :(得分:1)
您可以过滤Image
上不存在图像的文章
试试这个:
Article.objects.filter(image__isnull=False)