Django GenericForeignKey для отношений ManyToMany
Я хочу разрешить использование тегов на разных сущностях моей базы данных, которые никак не связаны друг с другом. Для этого я использовал GenericForeignKey
и ContentType
фреймворк django. Например, у меня есть 2 следующие сущности и класс Tag
:
class Tag(models.Model):
name = models.CharField(max_length=100)
content_type = models.ForeignKey(ContentType, blank=True, null=True, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField(blank=True, null=True)
content_object = GenericForeignKey("content_type", "object_id")
class Entity1 (models.Model):
...
tags = GenericRelation(Tag, related_query_name="entity1")
class Entity2 (models.Model):
...
tags = GenericRelation(Tag, related_query_name="entity2")
Однако этот дизайн позволяет использовать только один тег для одной сущности, а я хотел бы иметь ManyToMany
отношения между моим Tag
и различными EntityX
объектами.
Какой дизайн будет лучшим для достижения этой цели?