Django 2.1 / PostgreSQL - можно ли предотвратить удаление объектов модели? - PullRequest
3 голосов
/ 26 марта 2019

В прошлом было несколько вопросов по этому поводу, но с ростом Django появилось много новых функций базы данных.

Я ищу способ, чтобы никто не мог удалить model из любого места.

У меня есть модель Product, и я не хочу, чтобы продукт был удален из базы данных.

Я понимаю, что переопределение delete иногда является хорошим способом, но я бы хотел сделать это на уровне database, чтобы не было возможности удалить его из shell_plus или из любого другого источника.

В Postgres, думаю, есть способ:

CREATE RULE product_del_protect AS ON DELETE TO product DO INSTEAD NOTHING;

Но я бы хотел сделать это через Django, чтобы это затронуло каждую перенесенную базу данных.

Может быть способ сделать это в model или в пользовательском migration.

А лучше было бы поднять ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...