o
    cZh                     @   sZ   d dl Z d dlZd dlmZ d dlmZ d dlmZ G dd dej	Z
G dd de
ZdS )	    N)settings)models)gettext_lazyc                       s   e Zd ZdZejeddddZeje	j
dejeddZejed	dd
ZG dd dZ fddZedd Zdd Z  ZS )Tokenz0
    The default authorization token model.
    Key(   T)
max_lengthZprimary_keyZ
auth_tokenZUser)Zrelated_nameZ	on_deleteverbose_nameCreated)Zauto_now_addc                   @   s&   e Zd ZdejvZedZedZdS )z
Token.Metarest_framework.authtokenr   ZTokensN)	__name__
__module____qualname__r   INSTALLED_APPSabstract_r	   Zverbose_name_plural r   r   V/var/www/html/lang_env/lib/python3.10/site-packages/rest_framework/authtoken/models.pyMeta   s    
r   c                    s"   | j s|  | _ t j|i |S N)keygenerate_keysupersave)selfargskwargs	__class__r   r   r      s   
z
Token.savec                 C   s   t td S )N   )binasciihexlifyosurandomdecode)clsr   r   r   r   #   s   zToken.generate_keyc                 C      | j S r   )r   r   r   r   r   __str__'   s   zToken.__str__)r   r   r   __doc__r   Z	CharFieldr   r   ZOneToOneFieldr   ZAUTH_USER_MODELZCASCADEuserZDateTimeFieldcreatedr   r   classmethodr   r(   __classcell__r   r   r   r   r   	   s    


r   c                   @   s*   e Zd ZdZedd ZG dd dZdS )
TokenProxyz7
    Proxy mapping pk to user pk for use in admin.
    c                 C   r&   r   )Zuser_idr'   r   r   r   pk/   s   zTokenProxy.pkc                   @   s$   e Zd Zdejv ZdejvZdZdS )zTokenProxy.Metar   tokenN)r   r   r   r   r   proxyr   r	   r   r   r   r   r   3   s    

r   N)r   r   r   r)   propertyr/   r   r   r   r   r   r.   +   s
    
r.   )r    r"   Zdjango.confr   Z	django.dbr   Zdjango.utils.translationr   r   ZModelr   r.   r   r   r   r   <module>   s    "