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 объектами. Какой дизайн будет лучшим для достижения этой цели?

Вернуться на верх