B
    ,DbÒ  ã               @   s   d dl mZ G dd„ dƒZdS )é    )Úcachec               @   s.   e Zd Zdd„ Zdd„ Zdd„ Zd
dd	„ZdS )ÚPrimaryReplicaRouterc             K   s   t  dd¡rdS dS dS )zR
        If cant get 'use_default_db' in cache, reads always go to slave.
        Zuse_default_dbr   ÚdefaultÚslaveN)r   Úget)ÚselfÚmodelÚhints© r
   ú4G:\easytimepro\master/mysite/PrimaryReplicaRouter.pyÚdb_for_read   s    z PrimaryReplicaRouter.db_for_readc             K   s   dS )z.
        Writes always go to default.
        r   r
   )r   r   r	   r
   r
   r   Údb_for_write   s    z!PrimaryReplicaRouter.db_for_writec             K   s$   d}|j j|kr |j j|kr dS dS )zp
        Relations between objects are allowed if both objects are
        in the primary/replica pool.
        )r   r   TN)Ú_stateÚdb)r   Zobj1Zobj2r	   Zdb_listr
   r
   r   Úallow_relation   s    z#PrimaryReplicaRouter.allow_relationNc             K   s   dS )z:
        All non-auth models end up in this pool.
        Tr
   )r   r   Z	app_labelZ
model_namer	   r
   r
   r   Úallow_migrate   s    z"PrimaryReplicaRouter.allow_migrate)N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r
   r
   r
   r   r      s   	
r   N)Zdjango.core.cacher   r   r
   r
   r
   r   Ú<module>   s   