a
    CgH                     @   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.
    Z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   TokensN)	__name__
__module____qualname__r   INSTALLED_APPSabstract_r   verbose_name_plural r   r   ^/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/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   s   | 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   s   | j S r   )Zuser_idr'   r   r   r   pk/   s    zTokenProxy.pkc                   @   s0   e Zd Zdejv ZdejvZedZedZ	dS )zTokenProxy.Metar
   r   r   N)
r   r   r   r   r   proxyr   r   r   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   "