o
    mip                     @   sR   d dl mZ d dlmZ d dlmZ ejZG dd dej	Z
G dd dejZdS )	    )settings)models)gettext_lazyc                       s(   e Zd Z fddZ fddZ  ZS )IsDeletedManagerc                    s   t   jddS )NT)Zdeleted_at__isnull)superget_querysetfilterself	__class__ 8/var/www/html/kuke-dev/django-kuke/common/base_models.pyr   	   s   zIsDeletedManager.get_querysetc                    s
   t   S )N)r   r   r	   r   r   r   with_trashed   s   
zIsDeletedManager.with_trashed)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s    r   c                   @   s   e Zd ZdZejeeddddejdZ	ej
edddddZejeed	ddd
ejdZej
edddddZejeeddddejdZej
edddddZe ZG dd dZdS )	BaseModelzC
    Tracks instance creations, updates, and (soft) deletions.
    z
Created byTz%(class)s_created)toverbose_namenullblankrelated_name	on_deletez
Created atF)r   auto_now_addeditabledb_indexz
Updated byz%(class)s_updatedz
Updated at)r   auto_nowr   r   z
Deleted byz%(class)s_deletedz
Deleted atN)r   r   r   defaultc                   @   s   e Zd ZdZdS )zBaseModel.MetaTN)r   r   r   abstractr   r   r   r   MetaD   s    r!   )r   r   r   __doc__r   
ForeignKey
user_model_SET_NULLZ
created_byDateTimeFieldZ
created_atZ
updated_byZ
updated_at
deleted_by
deleted_atr   objectsr!   r   r   r   r   r      sV    			r   N)django.confr   	django.dbr   django.utils.translationr   r%   AUTH_USER_MODELr$   Managerr   Modelr   r   r   r   r   <module>   s   