o
    ChI                     @   s&   d dl mZ G dd dZdd ZdS )    )transactionc                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	atomic_if_using_transactionzContext manager wraps `atomic` if `using_transactions`.

    Replaces code::

        if using_transactions:
            with transaction.atomic(using=using):
                return something()
        return something()
    c                 C   s    || _ |rtj|d| _d S d S )N)using)using_transactionsr   atomiccontext_manager)selfr   r    r	   e/var/www/html/myvaluetrips/my_value_trip_new/venv/lib/python3.10/site-packages/import_export/utils.py__init__   s   z$atomic_if_using_transaction.__init__c                 C   s   | j r
| j  d S d S N)r   r   	__enter__)r   r	   r	   r
   r      s   z%atomic_if_using_transaction.__enter__c                 G   s   | j r| jj|  d S d S r   )r   r   __exit__)r   argsr	   r	   r
   r      s   z$atomic_if_using_transaction.__exit__N)__name__
__module____qualname____doc__r   r   r   r	   r	   r	   r
   r      s
    
r   c                 C   s   t | dr| jS d S )Nrelated_model)hasattrr   )fieldr	   r	   r
   get_related_model   s   
r   N)	django.dbr   r   r   r	   r	   r	   r
   <module>   s    