L'API selon la documentation semble réalisable avec un simple ManyToManyField ... qu'est-ce qui me manque?Quel est le bénéfice de Django-Taggit sur une implémentation simple de ManyToManyField()?
Exemple de documentation Django-Taggit:
class Food(models.Model):
# ... fields here
tags = TaggableManager()
Ensuite, vous pouvez utiliser l'API comme si ::
>>> apple = Food.objects.create(name="apple")
>>> apple.tags.add("red", "green", "delicious")
>>> apple.tags.all()
[<Tag: red>, <Tag: green>, <Tag: delicious>]
>>> apple.tags.remove("green")
>>> apple.tags.all()
[<Tag: red>, <Tag: delicious>]
>>> Food.objects.filter(tags__name__in=["red"])
[<Food: apple>, <Food: cherry>]
Donc, dans votre exemple, la seule façon d'obtenir toutes les instances étiquetées serait Tag.food_set.all(), Tag.wine_set.all()? Si je suis sûr que différents types n'auront pas besoin d'être marqués, alors un ManyToManyField devrait être correct? – kliao