Я хочу написать, чтобы добавить, обновить удаление для нескольких баз данных, используя django.db.models.Model
Я могу добавить несколько баз данных, настроив multi-db в settings.py
Итак, файл настроек выглядит как
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': config['DB_NAME'],
'USER': config['DB_USER'],
'PASSWORD': config['DB_PASSWORD'],
'HOST': config['DB_HOST'],
'PORT': config['DB_PORT'],
},
'tableau': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'tableau',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'localhost',
'PORT': 5432,
},
}
Затем я создаю подкласс django.db.models.Model
и модель в моем приложении model.py
from django.db.models import Model
class MultiDbModel(Model):
class Meta:
abstract = True
def save(self, *args, **kwargs):
for dbname in settings.DATABASES:
super(MultiDbModel, self).save(using=dbname)
class People(MultiDbModel):
name = CharField(max_length=255)
country = CharField(max_length=255)
def save(self, *args, **kwargs):
super(App, self).save(args, kwargs)
Поэтому, когда я создаю новый объект, он сохраняется в обеих базах данных.
People.objects.create(name='alok', location='India')
К этому подходу я хочу добавить возможность запросов update
и delete
, например, create
работает правильно.
Какие методы вызываются при выполнении запроса update
и delete
или как добавить возможность удаления и обновления для нескольких баз данных?