U
    [gs                     @   sl   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
Z
G dd dejZG d	d
 d
ejZdS )    )User)models)FileExtensionValidator)slugify)reverseNc                       s  e Zd ZdZdZedfedfgZejddZej	ddddZ
ejdddZejdddZejd	ddd
ZejdddZejdddZejdddZejdddZejdddZejdeddZejdddZejdddZejdddZejddZejdddZejd	ddedddggdZejedej dZ!ej"ddZ#ejddZ$ejd	ddedddggdZ%dd Z& fddZ' fddZ'  Z(S )DatasetMaleFemale   
max_lengthT   )uniquer   blank)r   nullZ
data_files)	upload_tor   r    )r   defaultd   
   )r   choicesr   F)r   ZpngZjpegZjpg)r   r   r   
validatorsitems)related_name	on_delete)auto_now_addc                 C   s   | j S Nnameself r!   %/var/www/website-v5/dataset/models.py__str__=   s    zDataset.__str__c                    s$   | j st| j| _ t j|| d S r   )slugr   r   supersave)r    argskwargs	__class__r!   r"   r&   ?   s    zDataset.savec                    sn   | j s\t| j}|}d}tjj|d rV| dt j	d d  d| }|d7 }q|| _ t
 j|| d S )N   )r$   -   )r$   r   r   r   objectsfilterexistsuuiduuid4hexr%   r&   )r    r'   r(   Z	base_slugr$   countr)   r!   r"   r&   D   s    
"
))__name__
__module____qualname__r   r	   Zsex_choicesr   	CharFieldr   	SlugFieldr$   	TextFieldZ
manuscriptZdownload	FileFielddataZspeciesZanatomicalPositionZselectedCellsZdataTypeageZsexZanalyzerZprincipleInvestigatordescriptionBooleanFieldhiddenZ	subfolderr   ZcellTypeImage
ForeignKeyr   CASCADEZ
created_byDateTimeFieldZ
created_atZ
multiImageZcellTypeImage2r#   r&   __classcell__r!   r!   r)   r"   r   	   s:   r   c                   @   s    e Zd ZejddZdd ZdS )
Genesearchr
   r   c                 C   s   | j S r   r   r   r!   r!   r"   r#   S   s    zGenesearch.__str__N)r5   r6   r7   r   r8   r   r#   r!   r!   r!   r"   rE   Q   s   rE   )django.contrib.auth.modelsr   	django.dbr   Zdjango.core.validatorsr   django.utils.textr   django.urlsr   r1   Modelr   rE   r!   r!   r!   r"   <module>   s   H