1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| class ItemManager(models.Manager):
def with_keywords(self, keywords):
#Item.objects.filter(thesaurus="fraise")
Item.objects.filter(thesaurus__keywords__in = list(keywords))
return Item
class Item(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
description = models.CharField(max_length=511, blank=True, null=True)
price = models.FloatField(blank=True, null=True)
item_structure = models.ForeignKey(ItemStructure)
store_entity = models.ForeignKey(StoreEntity)
is_active = models.BooleanField(default=True)
thesaurus = models.ManyToManyField(Thesaurus, verbose_name=_('thesaurus'), blank=True)
objects = ItemManager()
def __unicode__(self):
return self.name
class Meta:
verbose_name = _('item')
verbose_name_plural = _('items') |