一:首先给个字数据库相应的访问权限:

    一台ip为:192.168.1.103,名称为user1;比如另一台ip为:192.168.1.106,名称为user2

    在user1上执行:grant all on *.* to myname@192.168.1.106 identified by 'mypassword';

    让该权限生效:flush privileges;

    同理在user2上也执行;


二:首先定义我们的主从数据库:

DATABASES {

    'default'{

        'ENGINE''django.db.backends.mysql',

        'NAME'sae.const.MYSQL_DB,

        'USER'sae.const.MYSQL_USER,

        'PASSWORD'sae.const.MYSQL_PASS,

        'HOST'sae.const.MYSQL_HOST,

        'PORT'sae.const.MYSQL_PORT,

    },

      

    'slave'{

        'ENGINE''django.db.backends.mysql',

        'NAME'sae.const.MYSQL_DB,

        'USER'sae.const.MYSQL_USER,

        'PASSWORD'sae.const.MYSQL_PASS,

        'HOST'sae.const.MYSQL_HOST_S,

        'PORT'sae.const.MYSQL_PORT,

    },       

}

 

新建一个定义我们的路由规则,路由规则可以有好多个,每个规则是一个类。如下所示:

新建路由文件:vim routers.py

查看所在目录:pwd:  /home/product/my_django/my_django


-*- coding:utf-8 -*-

 

class DBRouter(object):

    

    def db_for_read(selfmodel, **hints):

        # 指定表,如果不需要该逻辑(操作User表的时候去数据库default中操作),可以去掉

        if model._meta.label == 'Product.User':

            return 'default'

        return 'slave'

 

    def db_for_write(selfmodel, **hints):

        return 'default'

 

    def allow_relation(selfobj1, obj2, **hints):

        return None

 

    def allow_syncdb(selfdb, model):

        return None

 

最后在setting.py中加上这个路由规则:

DATABASE_ROUTERS ['my_django.routers.DBRouter']


三:添加数据

  user = User(name='123',addr='zhongguo')

    user.save()

    log = Log(where='href',title='mytitle')

    log.svae()