Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/playhouse/__pycache__/read_slave.cpython-35.pyc



R6¿W©ã@s*dZddlTGdd„deƒZdS)ag
Support for using a dedicated read-slave. The read database is specified as a
Model.Meta option, and will be used for SELECT statements:


master = PostgresqlDatabase('master')
read_slave = PostgresqlDatabase('read_slave')

class BaseModel(ReadSlaveModel):
    class Meta:
        database = master
        read_slaves = [read_slave]  # This database will be used for SELECTs.


# Now define your models as you would normally.
class User(BaseModel):
    username = CharField()

# To force a SELECT on the master database, you can instantiate the SelectQuery
# by hand:
master_select = SelectQuery(User).where(...)
é)Ú*csReZdZedd„ƒZe‡fdd†ƒZe‡fdd†ƒZ‡S)ÚReadSlaveModelcCs_t|jddƒs|jjSt|ddƒ}|dt|jjƒ|_|jj|jS)NÚread_slavesÚ_read_slave_idxééÿÿÿÿ)ÚgetattrZ_metaÚdatabaseÚlenrr)ÚclsZcurrent_idx©rú/read_slave.pyÚ_get_read_databases

z!ReadSlaveModel._get_read_databasecs.tt|ƒj||Ž}|jƒ|_|S)N)ÚsuperrÚselectrr	)rÚargsÚkwargsÚquery)Ú	__class__rr
r#szReadSlaveModel.selectcsFtt|ƒj||Ž}|jjƒjdƒrB|jƒ|_|S)Nr)rrÚrawZ_sqlÚlowerÚ
startswithrr	)rrrr)rrr
r)szReadSlaveModel.raw)Ú__name__Ú
__module__Ú__qualname__Úclassmethodrrrrr)rr
rsrN)Ú__doc__ZpeeweeZModelrrrrr
Ú<module>s

Back to Directory File Manager