Django的查询集为许多到许多领域
我有以下的Django 1.2车型:Django的查询集为许多到许多领域
class Category(models.Model):
name = models.CharField(max_length=255)
class Article(models.Model):
title = models.CharField(max_length=10, unique=True)
categories = models.ManyToManyField(Category)
class Preference(models.Model):
title = models.CharField(max_length=10, unique=True)
categories = models.ManyToManyField(Category)
我怎么能执行一个查询,这将使我与任何同类别相关联的所有文章对象给定的偏好对象与?
例如如果我有一个与“鱼”,“猫”和“狗”类别有关的偏好对象,我想要列出所有与“鱼”,“猫”或“狗”相关的文章。
尝试:
preference = Preference.objects.get(**conditions)
Article.objects.filter(categories__in = preference.categories.all())
Article.objects.filter(categories__in=myPreferenceObject.categories.all())
你测试出来?我尝试了类似的东西,并得到一个错误。 – 2010-09-02 19:53:59
我得到一个TypeError:'ManyRelatedManager'对象不可迭代 – Roger 2010-09-02 19:54:57
我的错。固定。 – 2010-09-02 19:58:06
是的,这个工程。 – Roger 2010-09-02 19:57:23