Django获取具有外键的对象

时间:2019-01-20 17:26:44

标签: python django

我正在创建一个文章应用程序(在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

1 个答案:

答案 0 :(得分:1)

您可以过滤Image上不存在图像的文章 试试这个:

Article.objects.filter(image__isnull=False)