Category может применяться как генеральная модель. Вы, вероятно, хотите иметь возможность применять категории к объектам любого класса модели. Вы можете сделать это следующим образом
Что мы сделали, мы добавили поля GenericForeignKey на FlexCategory, используя одно ForeignKey и одно PositiveIntegerField, затем добавили GenericRelation на модели, которые вы хотите классифицировать.
На уровне базы данных это выглядит следующим образом:
Вы можете классифицировать Hero следующим образом.