Пока вы используете inheritance, а затем подключить только родительскую таблицу для вашего Джанго модели, перегородки должны быть полностью прозрачными для Джанго. То есть, SELECT
в родительской таблице будет каскадироваться до разделов, если ключевое слово ONLY
явно не используется (если применимо).
Обратите внимание, что разметка добавляет сложности с точки зрения необходимости применения программного метода определения, когда необходимо создавать новые разделы, а затем создавать их - или делать это вручную через определенные промежутки времени. В зависимости от ваших точных данных и бизнес-логики, вполне вероятно, что вам также понадобится ввести триггеры и правила, чтобы определить, какой раздел, скажем, INSERT
, что-то в (поскольку вы не хотите, чтобы INSERT
в родительскую таблицу). Однако их тоже следует отвлечь от Django.
Я обнаружил, что, в зависимости от конкретных обстоятельств, это может потребоваться при отключении основного приложения, так как создание нового раздела вызывает тупик.
Также стоит рассмотреть, нужно ли вам истинные разделы, которые получают созданные в течение долгого времени, или если модель наследования, скажем, таблицы foo
и foo_archive
хватило бы, где foo_archive
унаследован от foo
и периодически что-то (например, сценарий) передвигает более старые данные в foo_archive
, чтобы сохранить foo
меньше.