@FulTupFul

Партиционирование таблиц в django?

class Ground(models.Model):
    cadastral_number = models.CharField(primary_key=True, max_length=24)
    area = models.FloatField(null=True)   # Если строительство незавершенно то значение 0
    district = models.CharField(max_length=120, blank=True, null=True)
    region = models.IntegerField( blank=True, null=True)          # dRegionsRF

И я реализовал партиционирование при помощи наследование таблиц по регионам. Создал правила, и вроде все работает. Но при записи со связанными объектами возникает ошибка
insert or update on table "ground" violates foreign key constraint "classifier_ground_id_ff3a6d69_fk"
DETAIL: Key (ground_id)=(40:00:000000:196) is not present in table "ground".
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
tumbler
@tumbler Куратор тега Django
бекенд-разработчик на python
https://www.postgresql.org/docs/10/static/ddl-part...
Since primary keys are not supported on partitioned tables, foreign keys referencing partitioned tables are not supported, nor are foreign key references from a partitioned table to some other table.

Похоже, FK на партиционированную таблицу не поддерживаются. Можно вручную дропнуть constraint и аккуратно следить за целостностью БД.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы