【问题标题】:Django Get object if it has foreignkeyDjango获取对象,如果它有外键
【发布时间】:2019-06-14 04:44:41
【问题描述】:

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

【问题讨论】:

  • 你能添加你的模型吗?
  • 是的,我添加了它们

标签: python django


【解决方案1】:

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

Article.objects.filter(image__isnull=False)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2018-12-01
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多