Как предотвратить крах Django при изменении схемы базы данных в PgAdmin?
В настоящее время мы разрабатываем приборные панели для больницы с помощью Django.
Для этого мы подключаемся к базе данных Postgres (только для чтения) с помощью Django и создаем мониторинг для данных.
Мы прочитали информацию о таблицах базы данных с:
python manage.py inspectdb
Проблема в том, что больница иногда добавляет новые колонки в БД Postgres, а иногда удаляет колонки.
Если добавляются только новые колонки, наше Django-приложение продолжает работать. Но если столбец удаляется, на приборной панели больше ничего не видно.
Мы хотели бы обработать это таким образом, что если, например, столбец 4 отсутствует в базе данных, то все визуализации, которые требуют столбец 4, не отображаются, но все остальные графики по-прежнему отображаются.
Как можно избежать сбоя / ничего не отображается при удалении только одного столбца?
Мы уже пробовали что-то вроде этого, но ничего не получается:
class Test(models.Model):
col1 = models.CharField(primary_key=True, max_length=10)
try:
col2 = models.CharField(max_length=10, blank=True, null=True)
except:
pass
...
class Meta:
managed = False
db_table = 'test'
Большое спасибо за то, что даете нам советы с вашим опытом!