Interfejs API zgodnie z dokumentacją wydaje się osiągalny za pomocą prostego ManyToManyField ... czego mi brakuje?Jaką korzyść zapewnia Django-Taggit w prostym wprowadzaniu znaczników ManyToManyField()?
Próbka z dokumentacją Django Taggit:
class Food(models.Model):
# ... fields here
tags = TaggableManager()
Następnie można użyć API jak tak ::
>>> 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>]
W twoim przykładzie jedynym sposobem na uzyskanie wszystkich oznaczonych instancji będzie Tag.food_set.all(), Tag.wine_set.all()? Jeśli jestem całkiem pewny, że różne typy nie będą musiały być oznaczone, to czy ManyToManyField powinno być w porządku? – kliao