Как изменить поведение приложения django_spanner на всем проекте django? Поскольку я использую 2 базы данных внутри моего django приложения

Мое Django приложение имеет 2 базы данных (spanner и AWS RDS). Я пытаюсь интегрировать БД spanner с существующей RDS (следуя документу Django spanner, указанному по ссылке ниже). Там говорится, что мы должны включить приложение django_spanner в список INSTALLED_APPS. У меня есть несколько приложений в моем Django проекте, но я хочу использовать spanner только для одного приложения. После выполнения шагов, указанных в приведенном ниже документе, там говорится Приложение django_spanner изменяет поведение по умолчанию автополя Django так, что оно генерирует случайные значения (вместо автоматического последовательного увеличения). Похоже, это сделано для того, чтобы избежать распространенного антипаттерна в использовании Cloud Spanner. Я не хочу, чтобы это произошло для других таблиц, где автогенерируемые ключи id генерируются случайным образом после включения django_spanner, потому что другие таблицы все еще будут находиться в AWS RDS (где нам нужны автоматически увеличивающиеся id). Может ли кто-нибудь предложить какое-нибудь решение?

https://cloud.google.com/blog/topics/developers-practitioners/introducing-django-cloud-spanner-databas

Приложение django_spanner изменяет поведение по умолчанию Django's AutoField так, чтобы оно генерировало случайные (вместо автоматически увеличивающихся последовательных) значения. В дополнение к AutoField он также изменяет поведение Small/BigAutoField. Это сделано для того, чтобы избежать создания горячих точек в Cloud Spanner.

Так что обходным решением здесь может быть реализация собственного AutoField только в случае AWS RDS, а для разработки схемы с помощью Cloud Spanner я бы предложил вам изучить этот документ.

Вернуться на верх