yzk_wechat_event/yzk_wechat_event/routers.py

31 lines
1.0 KiB
Python

class DatabaseRouter:
def db_for_read(self, model, **hints):
# 返回用于读取的数据库别名
db_route = getattr(model._meta, 'db_route', None)
if db_route is not None:
return db_route
db_table = model._meta.db_table
suffix = db_table.split('_')[0]
if suffix:
return suffix
return 'default'
def db_for_write(self, model, **hints):
db_route = getattr(model._meta, 'db_route', None)
if db_route is not None:
return db_route
# 返回用于写入的数据库别名
db_table = model._meta.db_table
suffix = db_table.split('_')[0]
if suffix:
return suffix
return 'default'
def allow_relation(self, obj1, obj2, **hints):
# 确定两个对象之间是否允许建立关联关系
return True
def allow_migrate(self, db, app_label, model_name=None, **hints):
# 确定给定应用程序的模型是否允许在给定数据库上进行迁移
return True