Невозможно сохранить в разных базах данных в django?

Я пытаюсь сохранить данные в разные базы данных, но они не сохраняются и не выдают никаких ошибок.

settings.py

У меня есть две базы данных mypage и ringi. mypage установлена по умолчанию.

DATABASE_ROUTERS = ['app_kanri.router.myrouter']

DATABASE_APPS_MAPPING = {
    'ringi':'ringi_db'
}

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mypage',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    },
    'ringi_db':{
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'ringi',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }

}

models.py

class Approvallog(models.Model):
    # id = models.IntegerField(primary_key=True)
    cat_name = models.CharField(max_length=100,default=None,blank=True)
    cat_id = models.IntegerField(default=None,blank=True)
    cat_subid = models.IntegerField(default=None,blank=True)
    status = models.IntegerField(default=None,blank=True)
    user = models.CharField(max_length=100,default=None,blank=True)
    app_root = models.IntegerField(default=None,blank=True)
    app_step = models.IntegerField(default=None,blank=True)
    comment = models.TextField(default=None,blank=True)
    created = models.DateTimeField(default=None,blank=True)
    modified = models.DateTimeField(default=None,blank=True)


    class Meta:
        app_label = 'ringi'
        db_table = "approvallogs"

router.py


class myrouter:
    def db_for_read(self, model, **hints):
        if model._meta.app_label == 'ringi':
            return 'ringi_db'
        else:
            return None

    def db_for_write(self, model, **hints):
        if model._meta.app_label == 'ringi':
            return 'ringi_db'
        else:
            return None

    def allow_relation(self, obj1, obj2, **hints):
        if obj1._meta.app_label == 'ringi' or \
           obj2._meta.app_label == 'ringi':
           return True
        return None

    def allow_migrate(self, db, app_label, model_name=None, **hints):
        if app_label == 'ringi':
            return db == 'ringi_db'
        return None

Вот как я экономлю

Appr_log = Approvallog()
Appr_log.cat_name=str(data2['cat_name'])
Appr_log.cat_id=data2['cat_id']
Appr_log.cat_subid=data2['cat_subid']
Appr_log.status=data2['status']
Appr_log.user=data2['user']
Appr_log.save(using="ringi_db")

Я попытался напечатать(Appr_log.save(using="ringi_db")) и None печатается. Я проверил, могу ли я получить таблицу Approvallog с помощью show(Approvallog.objects.all()) и я могу видеть все строки в моем терминале. (show - некоторая функция для печати QuerySet).

Есть ли какая-нибудь ошибка?

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