U
    ccn                     @   sX   d Z ddlmZ ddlmZ G dd deZG dd dejeZG dd	 d	eZ	d
S )zModel managers.    )models)QuerySetc                   @   s"   e Zd ZdZdddZdd ZdS )ExtendedQuerySetzBase class for query sets.Nc                 K   s8   | j f d|i|\}}|s4| |t|p*i f| |S )Ndefaults)Zget_or_create_update_model_with_dictdict)selfr   kwargsobjcreated r   U/var/www/html/project/venv/lib/python3.8/site-packages/django_celery_beat/managers.pyupdate_or_create	   s    z!ExtendedQuerySet.update_or_createc                    s"    fdd|  D      S )Nc                    s   g | ]\}}t  ||qS r   )setattr).0	attr_nameZ
attr_valuer
   r   r   
<listcomp>   s   z<ExtendedQuerySet._update_model_with_dict.<locals>.<listcomp>)itemssave)r   r
   fieldsr   r   r   r      s
    
z(ExtendedQuerySet._update_model_with_dict)N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s   
r   c                   @   s   e Zd ZdZdS )ExtendedManagerzManager with common utilities.N)r   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdd ZdS )PeriodicTaskManagerzManager for PeriodicTask model.c                 C   s   | j ddS )NT)enabled)filter)r   r   r   r   r      s    zPeriodicTaskManager.enabledN)r   r   r   r   r   r   r   r   r   r      s   r   N)
r   Z	django.dbr   Zdjango.db.models.queryr   r   ManagerZfrom_querysetr   r   r   r   r   r   <module>   s
   