Я планирую иметь модели в нашем приложении для записи в две базы данных.Я хотел написать декоратор, чтобы использовать его для всех моделей.Я использую приведенный ниже код
class save_multi_db(models.Model):
def __call__(self, cls):
class Wrapped(cls):
def save(self, *args, **kwargs):
redis_connection = redis.Redis(connection_pool=settings.MAPPING_REDIS_POOL)
if int(redis_connection.get('write_to_db')):
super(cls, self).save(using='prod')
super(cls, self).save(using='default')
else:
return cls.save()
return Wrapped
У меня есть классы вроде ниже
@save_multi_db()
class ModelA(models.Model):
#model A
class MobelB(ModelA):
class Meta:
db_table = 'name'
Это прекрасно работает, если я использую декоратор для одной модели.Но в том же models.py, если я использую декоратор на другой модели.Я получаю сообщение об ошибке ниже
(fields.E300) Field defines a relation with model 'Wrapped', which is either not installed, or is abstract.