【发布时间】:2010-12-21 15:13:54
【问题描述】:
我想了解如何选择其 ManyToMany 字段包含另一个对象的所有对象。我有以下模型(精简)
class Category(models.Model):
pass
class Picture(models.Model):
categories = models.ManyToManyField(Category)
visible = models.BooleanField()
我需要一个函数来选择一个或多个类别中的所有图片:
def pics_in_cats(cat_ids=()):
pass
但如果可能的话,它需要返回一个 QuerySet 以便我可以执行以下操作:
pics_in_cats((1,2,3)).filter(visible=True)
这可以通过加载所有相关的类别对象并合并它们的图片集属性来完成,但这似乎效率低下。如果可能的话,我还想避免使用原始 SQL。
提前致谢
【问题讨论】:
标签: python django django-database