Как объединить разные модели в Django?

У меня большие проблемы со слиянием двух или более моделей в Django.

Во-первых, в models.py есть 9 моделей. (только структура)

model A   (fields: user, AA(foreign key), created_at)
model AA  (fields: user, title, content)
model AAA (fields: AA(foreign key), theme_name)

model B   (fields: user, BB(foreign key), created_at)
model BB  (fields: user, title, content)
model BBB (fields: BB(foreign key), theme_name)

model C   (fields: user, CC(foreign key), created_at)
model CC  (fields: user, title, content)
model CCC (fields: CC(foreign key), theme_name)

И я хочу объединить model A, model B, model C, упорядоченные по 'created_at' с пагинацией и фильтром (с именем_темы).

Я искал, как объединить, но, похоже, не было другого способа, кроме использования annotate для выравнивания и объединения всех типов и количеств полей.

Однако, когда дополнительные модели создаются позже, если я использую annotate в это время, ожидается, что аннотированные поля увеличатся слишком сильно и это займет больше времени.

Что мне делать?

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