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