
    h;
                     |    d dl m Z mZ d dlmZmZmZmZmZmZm	Z	 d dl
mZ d dlmZ  G d de      Z G d de      Zy	)
    )datetimetimezone)ColumnDateTime
ForeignKeyIntegerStringUniqueConstraintIndex)relationship)Basec                   &   e Zd ZdZ eed      Z e ed      d      Z e ed      d      Z	 ee e
dd	      dd
      Z ee ej                  ej                         d      Z ee ej                  ej                          ej                  ej                         d      Z eed      Z edd      Z edddd      Z edddd      Z edd      Z edd      Z edddd       edddd       edd       edd      fZy) RegionregionsTprimary_key   Fnullablezcountries.idRESTRICTondeleter   indexdefaultr   r   onupdater   Countryback_populatesLocationregionzall, delete-orphan)r!   cascadepassive_deletes	SubRegionAppellationSubAppellation
country_idname
deleted_atuq_region_country_name_deletedr*   region_codeuq_region_country_code_deletedix_regions_nameix_regions_region_codeN)__name__
__module____qualname____tablename__r   r   idr	   r*   r.   r   r)   r   r   nowr   utc
created_at
updated_atr+   r   country	locationssub_regionsappellationssub_appellationsr
   r   __table_args__     V/var/www/html/wine-match-dev/backend/winematch-backend/src/apps/base/models/regions.pyr   r      s0   M	T	*B&+.Du5KNZ!P[`hlmJ,(,,x||*DuUJ,(,,x||*D|x||\d\h\hOityzJ40J 9Y?GZJ^ptuI{8MaswxKhGL#$4XN 	v|Bbc}lIij(&6	NrB   r   c                      e Zd ZdZdZ eed      Z e ed      d      Z	 ee e
dd	
      dd      Z ee ej                  ej                         d      Z ee ej                  ej                          ej                  ej                         d      Z eed      Z edd      Z edddd       edd      fZy)r&   z
    Represents a 'sub-region' concept distinct from `Location`.
    If `Location` is your canonical subregion (preferred), keep this only if you
    truly need both. Otherwise consider migrating usages to `Location`.
    r=   Tr   r   Fr   z
regions.idCASCADEr   r   r   r   r   r    	region_idr*   r+   !uq_sub_region_region_name_deletedr-   ix_sub_regions_nameN)r2   r3   r4   __doc__r5   r   r   r6   r	   r*   r   rF   r   r   r7   r   r8   r9   r:   r+   r   r#   r
   r   r@   rA   rB   rC   r&   r&   ,   s    
 "M	T	*B&+.Dw
<) LW\dhiI,(,,x||*DuUJ,(,,x||*D|x||\d\h\hOityzJ40J(=AF 	flAde#V,NrB   r&   N)r   r   
sqlalchemyr   r   r   r   r	   r
   r   sqlalchemy.ormr   src.core.models.baser   r   r&   rA   rB   rC   <module>rM      s7    '   ( %T 6 rB   