
    si                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZ  G d dej                        Z
 G d d	ej                        Z eee
      d        Zy)    N)ValidationError)models)post_delete)receiverc                        e Zd Z ej                  ddej
                  dd      Z ej                  d      Zd Z	 fdZ
 G d	 d
      Z xZS )FaceDetectionzbase.Companyface_detectionT)related_name	on_deletenullblankF)defaultc                     | j                   dt        j                  j                  d      }| j                  r|j                  | j                        }|j                         rt        d      y y )NT)company_id__isnull)pkz2Only one FaceDetection can have a null company_id.)
company_idr   objectsfilterr   excludeexistsr   )selfqss     8/var/www/python-projects/worksol/facedetection/models.pycleanzFaceDetection.clean   sc    ??"&&---FBwwZZ477Z+yy{%H  	 #    c                 D    | j                          t        |   |i | y N)
full_cleansupersave)r   argskwargs	__class__s      r   r    zFaceDetection.save   s    d%f%r   c                   ^    e Zd Z ej                  dgd ej
                  d             gZy)FaceDetection.Metar   -unique_company_id_when_not_null_facedetectionN)r   )fieldsname	condition)__name__
__module____qualname__r   UniqueConstraintQconstraints r   r   Metar%   #   s2    #F##$~D#688t44
r   r1   )r*   r+   r,   r   OneToOneFieldCASCADEr   BooleanFieldstartr   r    r1   __classcell__)r#   s   @r   r   r      sP    %%%%..J  F.E&
 
r   r   c                   l    e Zd Z ej                  ddej
                        Z ej                         Zy)EmployeeFaceDetectionzemployee.Employeer	   )r
   r   N)	r*   r+   r,   r   r2   r3   employee_id
ImageFieldimager0   r   r   r8   r8   -   s2    &&&&*:fnnK FEr   r8   )senderc                    |j                   ru|j                   j                  r^t        j                  j                  |j                   j                        r*t        j                  |j                   j                         y y y y r   )r;   pathosisfileremove)r<   instancer"   s      r   delete_image_filerC   4   sQ    ~~(..--77>>(..--.IIhnn))* / .~r   )r?   django.core.exceptionsr   	django.dbr   django.db.models.signalsr   django.dispatchr   Modelr   r8   rC   r0   r   r   <module>rI      sQ    	 2  0 $

FLL 
D FLL   
+34+ 5+r   