
    Bh.                     d    d dl mZ  G d dej                        Z G d dej                        Zy)    )modelsc                       e Zd ZddZy)CacheKeyManagerNc                     |s|s| j                         }|S |s| j                  |      }|S |s| j                  |      }|S | j                  |      j                  |      }|S )a6  
         Get cache keys based on optional site ID and language.

         Args:
             site_id: The ID of the site (optional).
             language: The language (optional).

         Returns:
             QuerySet: A queryset of CacheKey instances based on the provided site ID and language.
         )language)site)allfilter)selfsite_idr   rets       </home/dcms/DCMS/lib/python3.12/site-packages/menus/models.pyget_keyszCacheKeyManager.get_keys   sx     x((*C 
 ++x+0C 
 ++7++C 
 ++7++22H2EC
    )NN)__name__
__module____qualname__r    r   r   r   r      s    r   r   c                       e Zd ZdZ ej
                  d      Z ej                         Z ej
                  d      Z	 e
       Zy)CacheKeyz
    This model stores a set of cache keys accessible by multiple processes/machines.
    Multiple Django instances will then share the keys, allowing selective invalidation
    of menu trees (per site, per language) in the cache.
       )
max_lengthN)r   r   r   __doc__r   	CharFieldr   PositiveIntegerFieldr   keyr   objectsr   r   r   r   r      sE    
  v3/H&6&&(D
&

c
*CGr   r   N)	django.dbr   Managerr   Modelr   r   r   r   <module>r!      s(    fnn 2	 v|| 	 r   