o
    wvXjn  ã                   @   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   s<   | j dd|i|¤Ž\}}|s|  |t|pi fi |¤Ž¡ |S )NÚdefaults© )Úget_or_createÚ_update_model_with_dictÚdict)Úselfr   ÚkwargsÚobjÚcreatedr   r   úX/var/www/html/myproject/venv/lib/python3.10/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_nameÚ
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   Ú	django.dbr   Údjango.db.models.queryr   r   ÚManagerÚfrom_querysetr   r   r   r   r   r   Ú<module>   s    