Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/playhouse/__pycache__/read_slave.cpython-38.pyc

U

S¤ð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(...)
é)Ú*cs<eZdZedd„ƒZe‡fdd„ƒZe‡fdd„ƒZ‡ZS)ÚReadSlaveModelcCsFt|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||Ž}| ¡|_|S)N)ÚsuperrÚselectrr	©rÚargsÚkwargsZquery©Ú	__class__rr
r#s
zReadSlaveModel.selectcs0tt|ƒj||Ž}|j ¡ d¡r,| ¡|_|S)Nr)rrÚrawZ_sqlÚlowerÚ
startswithrr	rrrr
r)s
zReadSlaveModel.raw)Ú__name__Ú
__module__Ú__qualname__ÚclassmethodrrrÚ
__classcell__rrrr
rs
rN)Ú__doc__ZpeeweeZModelrrrrr
Ú<module>s
Back to Directory File Manager