Есть следующая модель , которая должна описывать различные характеристики продукта:
class CharacteristicType(models.Model):
name = models.CharField(_(u'Name'), max_length=255)
slug = models.SlugField(_(u'Slug'), max_length=150, unique=True,
help_text=_(u'Slug for product url created from name.'))
class Characteristic(models.Model):
characteristic_type = models.ForeignKey(CharacteristicType)
value = models.CharField(_(u'Value'), max_length=255)
product = models.ForeignKey(Product, verbose_name=_(u'Product'),
help_text=_(u'Referenced product'))
Пытаюсь выполнить запрос:
Product.objects.filter(Q(characteristic__characteristic_type__slug='brands') & Q(characteristic__characteristic_type__slug = 'ingridient'))
который в моём понимании должен вернуть продукт, у которого присутствует две характеристики. Но этого не происходит. Хотя по отдельности запросы выполняются.
Как правильно сделать такой запрос?