【问题标题】:Django queryset filter model where related objects have ALL a field valueDjango 查询集过滤器模型,其中相关对象都具有字段值
【发布时间】:2018-05-10 19:19:28
【问题描述】:

我有两个模型:

class Photo(models.Model):
   # fields

class PhotoTags(models.Model):
   photo = models.ForeignKey(Photo, related_name="tags")
   tag_name = models.Charfield()
   is_disabled = models.BooleanField(default=False) 

我想要实现的是获取标签为 all 且 is_disabled = True 的照片。

是否可以通过查询来实现,还是我必须循环照片并为每张照片检查所有标签?

编辑

我试过了

Photos.objects.filter(tags__is_disabled=True)

但它返回的照片至少有一个标签被禁用

谢谢

【问题讨论】:

  • 您尝试过哪些不起作用的方法?请参阅创建Minimal, Complete verifiable example question.的指南
  • OP - 鉴于您对纠正 Jay Daves 的评论,现在已删除答案。你到底在纠结什么?
  • 嘿,我没有删除 Jay Daves 的答案,我正在撰写我的答案,但他同时删除了自己的消息

标签: django django-queryset


【解决方案1】:

你可以使用Photo.objects.filter(tags__is_disabled=True)

【讨论】:

  • 1) 它应该是 .filter(tags__is_disabled=True) 2) filter() 返回带有至少一个标签被禁用的照片 3) first() 是为了什么?
  • 试试这个@user1518217
猜你喜欢
  • 2020-06-16
  • 1970-01-01
  • 2023-01-16
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 2012-12-03
  • 2013-10-10
相关资源
最近更新 更多