
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    SW                     @   s    d Z ddlT G dd deZdS )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(...)
    )*c                       s<   e Zd Zedd Ze fddZe fddZ  ZS )ReadSlaveModelc                 C   sF   t | jdd s| jjS t | dd}|d t| jj | _| jj| j S )Nread_slaves_read_slave_idx   )getattr_metadatabaselenr   r   )clsZcurrent_idx r   G/opt/alt/python38/lib64/python3.8/site-packages/playhouse/read_slave.py_get_read_database   s
    z!ReadSlaveModel._get_read_databasec                    s    t t| j||}|  |_|S )N)superr   selectr   r
   r   argskwargsquery	__class__r   r   r   #   s    
zReadSlaveModel.selectc                    s0   t t| j||}|j dr,|  |_|S )Nr   )r   r   raw_sqllower
startswithr   r
   r   r   r   r   r   )   s    
zReadSlaveModel.raw)__name__
__module____qualname__classmethodr   r   r   __classcell__r   r   r   r   r      s   
r   N)__doc__peeweeModelr   r   r   r   r   <module>   s   