
    R:i
                         d dl mZmZ d dlmZ d dlmZmZmZm	Z	 d dl
mZmZmZmZmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)Base)Mappedmapped_columnrelationshipSession)EnumTextInteger
ForeignKeyVARCHARc                       e Zd ZU  ed      Zedz  ed<    ed      Zedz  ed<    ed      Z	edz  ed<    ed      Z
edz  ed<    ed      Zedz  ed<    ed      Zedz  ed<   y)	ComparativeAnalysisBaseN)defaultcomparative_id
attributesown_brand_physical_storeown_brand_online_storeyes_nogroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r        K/var/www/html/retail-simulation-api/app/models/main/comparative_analysis.pyr   r      sv    "'"5NS4Z5#D1Jt1,1$,?sTz?*/*=S4Z=-FS4Z-!$/HsTz/r   r   c            	          e Zd ZU dZ ededd      Zee   e	d<    ed e
d      dd      Zee   e	d<    ed	edd      Zee   e	d	<    ed
edd      Zee   e	d
<    ed e
d      dd      Zee   e	d<    ed ed            Zee   e	d<    edd      Zedededd fd       Zedededd fd       Zededededd fd       Zedededd fd       Zy)TblComparativeAnalysistbl_comparative_analysisr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   r   ztbl_group.group_idTblGroupcomparative_analysis)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr,   r-   create_datas       r    createzTblComparativeAnalysis.create   s1    .DOO-.
{

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r3   r   r-   get_datas       r    getzTblComparativeAnalysis.get!   s1    88C=''(@AEEGr   c                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r7   )	r8   r9   r   firstr0   itemssetattrcommitrefresh)r3   r   r,   r-   update_data	data_dictkeyvalues           r    updatezTblComparativeAnalysis.update&   s~    hhsm**3+=+=+OPVVXOO%	$??,KC% S%0 - 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)r8   r9   r   r>   deleterA   )r3   r   r-   delete_datas       r    rI   zTblComparativeAnalysis.delete1   sO    hhsm**3+=+=+OPVVX
		+
		r   )r   r   r   __tablename__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r	   r5   r<   rG   rI   r   r   r    r"   r"      sy   .M#01A7X\lp#qNVC[q,\73<RVgklJl-:;UW[fj{  .Avc{  A+89QSWbfw{+|VC[|(73<$_cdFVC[d*:zBV7WXHvc{X4JKE0 W @X   # ' -E   3 -D  Tl   3 7 6N  r   r"   N)pydanticr   r   app.models.base_classr   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   r   r   r"   r   r   r    <module>rR      s/    % & G G ? ?0i 0*T *r   