+
    TjM}                    j   ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIt^ RIHt ^ RIHt ^ RIHt ^ R	IHtHtHtHtHtHtHt ^ R
IHtHtHtHtHtH t  ^ RI!H"t"H#t#H$t$H%t%H&t& ^ RI'H(t( ^ RI)H*t*H+t+ ^ RI,H-t- ^ RI.H/t/ ^ RI0H1t1H2t2H3t3H4t4 ^ RI5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ RI;H<t<H=t= ^ RI>H?t?H@t@HAtAHBtBHCtC ^ RIDHEtEHFtF ^ RIGHHtH ^ RIIHJtJ ^ RIKHLtLHMtM ^ RINHOtP  ! R R4      tQ]Q! 4       tRR tSR tT ! R R ]U4      tV ! R! R"4      tW ! R# R$4      tX ! R% R&]E]VR'7      tYR-R( ltZR) t[R* t\R+ t]R,]]n^        R# ).    N)defaultdict)partialmethod)chain)sync_to_async)apps)settings)checks)NON_FIELD_ERRORSFieldDoesNotExist
FieldErrorMultipleObjectsReturnedObjectDoesNotExistObjectNotUpdatedValidationError)DJANGO_VERSION_PICKLE_KEYDatabaseError
connectionconnectionsroutertransaction)NOT_PROVIDEDExpressionWrapperIntegerFieldMaxValue
LOOKUP_SEP)CASCADE	Collector)DatabaseDefault)CompositePrimaryKey)ForeignObjectRelOneToOneFieldlazy_related_operationresolve_relation)Coalesce)Manager)Options)FQ)class_prepared	post_init	post_savepre_initpre_save)
AltersDatamake_model_tuple)	force_str)make_hashable)capfirstget_text_list)gettext_lazyc                   ,   a  ] tR t^<t o R tR tRtV tR# )Deferredc                    R # z<Deferred field> selfs   &J/var/www/idalgo/venv/lib/python3.14/site-packages/django/db/models/base.py__repr__Deferred.__repr__=       !    c                    R # r:   r;   r<   s   &r>   __str__Deferred.__str__@   rA   rB   r;   N)__name__
__module____qualname____firstlineno__r?   rD   __static_attributes____classdictcell____classdict__s   @r>   r8   r8   <   s     "" "rB   r8   c           
     F    \        V VRVRVP                  : RV : 2/4      # )z
Create exception subclass. Used by ModelBase below.

The exception is created in a way that allows it to be pickled, assuming
that the returned exception class will be added as an attribute to the
'attached_to' class.
rG   rH   .)typerH   )namebasesmoduleattached_tos   &&&&r>   subclass_exceptionrU   G   s1     &{'?'?F	
 rB   c                 `    \         P                  ! V 4      '       * ;'       d    \        V R 4      # )contribute_to_class)inspectisclasshasattr)values   &r>   _has_contribute_to_classr\   Y   s$    u%%OO'%9N*OOrB   c                   b   a a ] tR t^^t oRtV 3R ltR tR t]R 4       t	]R 4       t
RtVtV ;t# )	ModelBasezMetaclass for all models.c                  < \         S'V `  pV Uu. uF  p\        V\        4      '       g   K  VNK  	  ppV'       g
   V! WW#4      # VP	                  R 4      pR V/p	VP	                  RR4      p
V
e   WR&   VP	                  RR4      p/ pVP                  4        F   w  r\        V4      '       d   WV&   K  WV&   K"  	  V! WW)3/ VB p\        VRR4      pT;'       g    \        VRR4      p\        VRR4      pRp\        P                  ! V4      p\        VRR4      f.   Vf   V'       g   \        RV: R	V: R
24      hMVP                  pVP                  R\        VV4      4       V'       Eg   TP                  R\        R\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      ;'       g    \         3VVR7      4       TP                  R\        R\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      ;'       g    \"        3VVR7      4       TP                  R\        R\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      ;'       g    \$        \&        3VVR7      4       V'       dm   VP(                  '       g[   \+        VR4      '       g   VP,                  VP.                  n        \+        VR4      '       g   VP0                  VP.                  n        VP.                  P2                  pV'       d8   V'       d0   VP4                  '       d   \7        V: RVP4                  : R24      hVP                  4        F  w  rVP                  W4       K  	  \9        VP.                  P:                  VP.                  P<                  VP.                  P>                  4      pV Uu0 uF  pVP@                  kK  	  ppV'       Ed   RpV Uu. uF  p\+        VR4      '       g   K  VNK  	  up F  pVP.                  P(                  '       d1   VP.                  PB                  '       d   \7        RV,          4      hKO  Vf   TpKW  VP.                  PD                  VP.                  PD                  Jg   K  \7        RV,          4      h	  Vf   \7        RV,          4      hVP.                  PG                  V4       VP.                  PD                  VP.                  n"        MWP.                  n"        / p\I        V.VO4       F  p\+        VR4      '       g   K  VV8w  d   VP.                  P(                  '       g   K<  VP.                  P:                   Fg  p\        V\J        4      '       g   K  VPL                  PN                  '       g   K9  \Q        VVPL                  PR                  4      pVV\U        V4      &   Ki  	  K  	  \W        4       pVPY                  4        EF  pVV9  g   \+        VR4      '       g   VP[                  VP\                  4       K:  VP.                  P:                  VP.                  P<                  ,           p VP.                  P(                  '       Eg8   V  F[  pVP@                  V9   d-   \_        RVP@                  : RV: RVP`                  : R	24      hVPc                  VP@                  4       K]  	  VP.                  PD                  p\U        V4      p!V!V9   d   VV!,          pMV'       g   RVP.                  Pd                  ,          p"\K        V\f        V"RRR7      pV"V9   d#   \_        RV": R V: R!VP`                  : R"24      h\+        VV"4      '       g   VP                  V"V4       MRpVVP.                  Ph                  V&   EMVP.                  Ph                  Pk                  4       p#V  F  pVP@                  V9  g   K  VP@                  VP\                  9  g   K3  VP@                  V9  g   KF  \j        Pl                  ! V4      p$VP                  VP@                  V$4       VPn                  '       g   K  V#P                  4        F  w  pp%VV%8X  g   K  V$V#V&   K  	  K  	  VP.                  Ph                  P[                  V#4       VP.                  P>                   F  pVP@                  V9   dK   VP.                  P(                  '       g-   \_        RVP@                  : RV: RVP`                  : R	24      hK^  VP@                  VP\                  9  g   K{  VP@                  V9  g   K  \j        Pl                  ! V4      pVP.                  P(                  '       g   RVn8        VP                  VP@                  V4       K  	  EK  	  VP.                  Pr                   U&u. uF  p&\j        Pl                  ! V&4      NK  	  up&VP.                  n9        V'       d   RVn        Wn:        V# VPw                  4        VP.                  P                  Py                  VP.                  Pz                  V4       V# u upi u upi u upi u up&i )#rG   __classcell__NMetaabstractF_meta	app_labelzModel class rO   zU doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.DoesNotExistc              3      "   T FC  p\        VR 4      '       g   K  VP                  P                  '       d   K5  VP                  x  KE  	  R# 5irc   N)rZ   rc   rb   re   .0xs   & r>   	<genexpr>$ModelBase.__new__.<locals>.<genexpr>   s9      !(A"1g. '78ww7G7G '!(   AAA)rT   r   c              3      "   T FC  p\        VR 4      '       g   K  VP                  P                  '       d   K5  VP                  x  KE  	  R# 5irg   )rZ   rc   rb   r   rh   s   & r>   rk   rl      s;      !(A"1g. 278ww7G7G 211!(rm   
NotUpdatedc              3      "   T FC  p\        VR 4      '       g   K  VP                  P                  '       d   K5  VP                  x  KE  	  R# 5irg   )rZ   rc   rb   ro   rh   s   & r>   rk   rl      s9      !(A"1g. %78ww7G7G %!(rm   orderingget_latest_byz! cannot proxy the swapped model ''.zOAbstract base class containing model fields not permitted for proxy model '%s'.zAProxy model '%s' has more than one non-abstract model base class.z6Proxy model '%s' has no non-abstract model base class.zLocal field z
 in class z5 clashes with field of the same name from base class z%s_ptrT)	on_deleterQ   auto_createdparent_linkzAuto-generated field 'z' in class z for parent_link to base class z. clashes with declared field of the same name.)>super__new__
isinstancer^   popitemsr\   getattrr   get_containing_app_configRuntimeErrorlabeladd_to_classr(   rU   tupler   r   r   r   rb   rZ   rq   rc   rr   proxyswapped	TypeErrorr   local_fieldslocal_many_to_manyprivate_fieldsrQ   fieldsconcrete_modelsetup_proxyreversedr#   remote_fieldrv   r%   modelr1   setmroupdate__dict__r   rF   add
model_namer   parentscopydeepcopy
one_to_onemti_inheritedindexesra   _prepareregister_modelrd   )(clsrQ   rR   attrskwargs	super_newbr   rS   	new_attrs	classcell	attr_metacontributable_attrsobj_nameobj	new_classrb   meta	base_metard   
app_configis_proxy
new_fieldsffield_namesbaseklsparentparent_linksfieldrelatedinherited_attributesparent_fieldsbase_key	attr_namebase_parents	new_fieldrv   idx	__class__s(   &&&&,                                  r>   rx   ModelBase.__new__a   s   GO	 $@ez!Y'?11e@S55 <(!6*	IIot4	 )2o&IIfd+	 !"[[]MH',,03H-&)(#	 +
 cDVD	9j%8<<GIvt<Iw5		 33F;
4d+3!& .4T;    ',,	wi(@Ax""""E !(EE !(  - -
 +, )
 "")"-E !(EE !(  2 2
 01 )
 """ E !(EE !(  9 9 )-8 )" !3!3!3 tZ00/8/A/AIOO,t_554=4K4KIOO1??(( 	i&7&7&7=A9CTCTU  1668MH""81 9 OO((OO..OO**


 (22z!qvvz2 8D*1K'3WS'5J33'K<<(((||***'>@DE 
 !<!D\\00

8Q8QQ#!#'(  L  |LtS  OO''--1ZZ-F-FIOO*-6OO* i2'23D4))y )<)<)<00e]338J8J8V8V8V.y%:L:L:R:RSG>CL!1'!:; 1 4  #uMMOD7"'$*@*@ %++DMM: JJ33djj6S6SSM::&&& +Ezz[0( !&

 $ $  -00< + zz00+D1|+(2E! (4::+@+@ @I)")&%)$(E !K/(
 !* $ $	 	 #9i88!..y%@ E05	''-#zz11668 +E

+5!JJi.@.@@!JJ.BB$(MM%$8	!..uzz9E !+++7C7I7I7K 3#(K#7;DL$8 8L +  ''..|< 22::,::...( !&

 $ $  / JJi&8&88

*>> MM%0E::....2+**5::u=' 3g $V +4//*A*A#
*A3DMM#*A#
	  "'I&N++IOO,E,EyQ An 3
 Lj#
s"   i#i#>i($i-=i-i2c                f    \        V4      '       d   VP                  W4       R # \        WV4       R # N)r\   rW   setattr)r   rQ   r[   s   &&&r>   r   ModelBase.add_to_class  s%    #E**%%c0Cu%rB   c                j   V P                   pVP                  V 4       VP                  '       d   \        V P                  RR7      V n        \        V P                  RR7      V n        VP                  P                  '       d3   VP                  pVP                  P                  p\        \        W4       V P                  f:   V P                  : RRP                  R VP                   4       4      : R2V n        \        P                   P#                  VP$                  4      pV'       d   \'        V R	V4       VP(                  '       g   \*        ;QJ d&    R
 VP                   4       F  '       g   K   RM	  RM! R
 VP                   4       4      '       d   \-        RV P                  ,          4      h\/        4       pRVn        V P3                  RV4       V P                   P4                   F(  pVP6                  '       d   K  VP9                  V 4       K*  	  \:        P<                  ! V R7       R# )z7Create some methods once self._meta has been populated.T)is_nextFN(, c              3   8   "   T F  qP                   x  K  	  R # 5ir   rQ   ri   r   s   & r>   rk   %ModelBase._prepare.<locals>.<genexpr>  s     6+Q&&+   )get_absolute_urlc              3   >   "   T F  qP                   R 8H  x  K  	  R# 5i)objectsNr   r   s   & r>   rk   r     s     <166Y&s   zOModel %s must specify a custom Manager, because it has a field named 'objects'.r   )sender)rc   r   order_with_respect_tor   _get_next_or_previous_in_orderget_next_in_orderget_previous_in_orderr   r   r$   make_foreign_order_accessors__doc__rF   joinr   r   ABSOLUTE_URL_OVERRIDESgetlabel_lowerr   managersany
ValueErrorr'   ru   r   r   rQ   set_name_with_modelr+   send)r   optswrtremoteget_absolute_url_overridemanagerindexs   &      r>   r   ModelBase._prepare  s   yyc%%%$122D%C! )622E)C% ))66600))//&'CSQ ;;		6$++66CK
 %-$C$C$G$G%
! %C+-FG}}}s<<sss<<<< -/2||<  iG#'G Y0
 YY&&E:::))#. ' 	3'rB   c                .    V P                   P                  # r   )rc   base_managerr   s   &r>   _base_managerModelBase._base_manager  s    yy%%%rB   c                .    V P                   P                  # r   )rc   default_managerr   s   &r>   _default_managerModelBase._default_manager  s    yy(((rB   r;   )rF   rG   rH   rI   r   rx   r   r   propertyr   r   rJ   rK   r`   r   rM   s   @@r>   r^   r^   ^   sG     #dL	&5(n & & ) ) )rB   r^   c                   *   a  ] tR tRt o RR ltRtV tR# )ModelStateFieldsCacheDescriptori  Nc                "    Vf   V # / ;q1n         V# r   )fields_cache)r=   instancer   ress   &&& r>   __get__'ModelStateFieldsCacheDescriptor.__get__  s    K&((#
rB   r;   r   )rF   rG   rH   rI   r   rJ   rK   rL   s   @r>   r   r     s      rB   r   c                   0    ] tR tRtRtRtRt]! 4       tRt	R# )
ModelStatei  zStore model instance state.NTr;   )
rF   rG   rH   rI   r   dbaddingr   r   rJ   r;   rB   r>   r   r     s    %	B
 F24LrB   r   c                   X  a a ] tR tRt oV 3R lt]R 4       tR tR tR t	R t
R tR	 tR
 tRKR ltR t]! ]]4      tRKR ltR tRLR ltRLR ltR tRRRRRRRR/R ltR]n        RRRRRRRR/R ltR]n        ]R 4       tRMR ltR]n        RKR ltRNR ltR tR  tR! t RKR" lt!ROR# lt"R]"n        ROR$ lt#R]#n        R% t$R& t%R' t&RKR( lt'R) t(R* t)RKR+ lt*ROR, lt+R- t,R. t-R/ t.R0 t/R1 t0RKR2 lt1RPR3 lt2RKR4 lt3]R5 4       t4]R6 4       t5]R7 4       t6]R8 4       t7]R9 4       t8]R: 4       t9]R; 4       t:]R< 4       t;]R= 4       t<]R> 4       t=]R? 4       t>]R@ 4       t?]RA 4       t@]RB 4       tA]RC 4       tB]RD 4       tC]RE 4       tD]RF 4       tE]RG 4       tF]RH 4       tG]RI 4       tHRJtIVtJV ;tK# )QModeli  c                \  < V P                   pV P                  p\        p\        pVP                  '       d   \        R 4      h\        P                  ! W1VR7       \        4       V n	        \        V4      \        VP                  4      8  d   \        R4      hV'       gE   \        VP                  4      p\        W4       F  w  rWJ d   K  V! W	P                  V4       K!  	  M\        VP                   4      p\        W4       Fl  w  rWJ d   K  V! W	P                  V4       VP#                  V	P$                  \&        4      \&        Jg   KI  \        VP(                   RV	P$                   R24      h	  V F  p	Rp
V	P*                  e   V	P,                  '       d   K'  V'       d]   \/        V	P0                  \2        4      '       d     VP#                  V	P$                  4      pRp
M- VP#                  V	P                  4      pMV	P7                  4       pV
'       d   XVJd   V! W	P$                  V4       K  K  XVJg   K  V! W	P                  V4       K  	  V'       d   VP8                  pRpVP;                  4        F?  w  rW9   d   WJd   V! WV4       K  K   VP=                  V4       WJd   V! WV4       K?  KA  	  V'       d3   RPA                  R	 V 4       4      p\        VPB                   R
V 24      h\D        SV `  4        \H        P                  ! W0R7       R#   \4         dD     TP#                  T	P                  4      p EL8  \4         d    T	P7                  4       p  ELWi ; ii ; i  \4         d    T	P7                  4       p EL}i ; i  \>         d    Y3,          p EK/  i ; i)z'Abstract models cannot be instantiated.)r   argsr   z'Number of args exceeds number of fieldsz8() got both positional and keyword arguments for field 'rs   FNTr   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   repr)ri   ns   & r>   rk   !Model.__init__.<locals>.<genexpr>M  s     ,IjT!WWjr   z%() got unexpected keyword arguments: )r   r   r;   )%r   rc   r   DEFERREDrb   r   r.   r   r   _statelenconcrete_fields
IndexErroriterzipattnamer   rz   rQ   r   rH   column	generatedry   r   r"   KeyErrorget_default_property_namesr{   	get_fieldr   r   rF   rw   __init__r,   )r=   r   r   r   r   _setattr	_DEFERREDfields_itervalr   is_related_objectrel_objproperty_names
unexpectedpropr[   unexpected_namesr   s   &*,              r>   r  Model.__init__  s/   nnzz	===EFFSF; !l t9s4//00FGGt334K
 "$4
#}}c2 5 t{{+K!$4
#}}c2::ejj,7|K#++, -88=

|2G  5 !E %||#ue002BCC
6"(**UZZ"8,0)2$jj7 '') 
 )+T::w7 , i'T==#6O !R !11NJ%||~ )- U3 .8t, !1$T7 2  . #'99,Ij,I#I ||n$I'(*  	c1m $ 66 #)**U]]";C' 6"'"3"3"5C66 $ 2
 $//12@ - ."g-
.sN   L%M0NM-+M		M)$M-(M))M-0NNN+*N+c                X   \        V4      \        V P                  P                  4      8w  dQ   \        V4      pV P                  P                   Uu. uF%  pVP                  V9   d   \        V4      M\        NK'  	  ppV ! V!  pR VP                  n        WP                  n	        V# u upi F)
r  rc   r	  r  r  nextr  r  r   r   )r   r   r   valuesvalues_iterr   news   &&&&   r>   from_dbModel.from_dbU  s    v;#cii7788v,K 222A &'YY+%=[!8K2   6l!




s   +B'c                @    R V P                   P                  : RV : R2# )<z: >)r   rF   r<   s   &r>   r?   Model.__repr__b  s    !^^44d;;rB   c                R    V P                   P                  : R V P                  : R2# )z	 object (r   )r   rF   pkr<   s   &r>   rD   Model.__str__e  s    #'>>#:#:DGGDDrB   c                    \        V\        4      '       g   \        # V P                  P                  VP                  P                  8w  d   R # V P
                  pVf   WJ # W!P
                  8H  # r!  )ry   r   NotImplementedrc   r   r-  )r=   othermy_pks   && r>   __eq__Model.__eq__h  sW    %''!!::$$(B(BB==   rB   c                n    V P                  4       '       g   \        R 4      h\        V P                  4      # )z8Model instances without primary key value are unhashable)
_is_pk_setr   hashr-  r<   s   &r>   __hash__Model.__hash__r  s)      VWWDGG}rB   c                    V P                  4       p\        P                  V\        &   V P                  P
                  V P                  P                  3p\        V3V3# r   )__getstate__django__version__r   rc   rd   object_namemodel_unpickle)r=   dataclass_ids   &  r>   
__reduce__Model.__reduce__w  sN      "*0*<*<&'::'')?)??{D00rB   c                   V P                   P                  4       p\        P                  ! VR,          4      VR&   VR,          P                  P                  4       VR,          n        . pVP                  4        F9  w  r4\	        V\
        4      '       g   K  VP                  V\        V4      34       K;  	  V'       d!   W!R&   V F  w  r4VP                  V4       K  	  V# )z0Hook to allow choosing the attributes to pickle.r  _memoryview_attrs)	r   r   r   r{   ry   
memoryviewappendbytesrz   )r=   staterE  attrr[   s   &    r>   r;  Model.__getstate__}  s    ""$))E(O4h',X'C'C'H'H'Jh$  ;;=KD%,,!(($e)=> ) ):%&0		$  1rB   c                   VP                  \        4      pV'       dK   V\        P                  8w  d5   \        P
                  ! R V: R\        P                  : R2\        ^R7       M\        P
                  ! R\        ^R7       RV9   d(   VP                  R4       F  w  r4\        V4      W&   K  	  V P                  P                  V4       R# )z(Pickled model instance's Django version z$ does not match the current version rO   )
stacklevelz9Pickled model instance's Django version is not specified.rE  N)r   r   r<  r=  warningswarnRuntimeWarningrz   rF  r   r   )r=   rI  pickled_versionrJ  r[   s   &&   r>   __setstate__Model.__setstate__  s    ))$=>&"4"44 '(:(:< #  MMK
 %'$yy)<=(/  >U#rB   Nc                l    T;'       g    V P                   p\        WP                  P                  4      # r   )rc   r|   r-  r  )r=   r   s   &&r>   _get_pk_valModel._get_pk_val  s&    !!tzztWW__--rB   c                8   V P                   P                  P                  4        FI  pV'       g   K  W P                   P                  8w  g   K)  \	        WP
                  P                  V4       KK  	  \	        W P                   P                  P                  V4      # r   )rc   r   r#  r-  r   target_fieldr  )r=   r[   rv   s   && r>   _set_pk_valModel._set_pk_val  sd    ::--446K{{jjmm;66>>F 7 tZZ]]22E::rB   c                    V P                  V4      pVR J ;'       gW    \        V\        4      ;'       d?    \        ;QJ d&    R V 4       F  '       g   K   R'       * # 	  R'       * # ! R V 4       4      '       * # )Nc              3   (   "   T F  qR J x  K
  	  R # 5ir   r;   r   s   & r>   rk   #Model._is_pk_set.<locals>.<genexpr>  s     1LVt)Vs   TF)rU  ry   r   r   )r=   r   pk_vals   && r>   r6  Model._is_pk_set  st    !!$'dN N N65)LLcc1LV1Lcc
 	
.1
 	
.11LV1L.L
 	
rB   c                    V P                   P                   Uu0 uF,  pVP                  V P                  9  g   K   VP                  kK.  	  up# u upi )zE
Return a set containing names of deferred fields for this instance.
)rc   r	  r  r   )r=   r   s   & r>   get_deferred_fieldsModel.get_deferred_fields  sI     ZZ//
/yy- AII/
 	
 
s
   AAc           	        Vf	   / V n         M\        V RR
4      p\        V4      pVP                  4        F  pWT9   g   K  WE VP	                  V4       K   	  V'       g   R# \
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   \        R\        ,          4      hVf,   RV /pV P                  P                  P                  WR7      pMVe   VP                  V4      pVP                  V P                  R	7      pV P                  4       pVe   VP                  ! V!  pMYV'       dR   VP                  ! V P                   P"                   U	u0 uF"  p	V	P$                  V9  g   K  V	P$                  kK$  	  up	!  pVP'                  4       p
V
P                  4       pV P                   P(                   F  pVP$                  V9   d   K  VP*                  '       d*   \-        WP$                  \        WP$                  4      4       VP.                  '       g   Ke  VP1                  V
4      '       d#   VP3                  WP5                  V
4      4       K  VP1                  V 4      '       g   K  VP7                  V 4       K  	  V P                   P8                   FD  pVe   VP:                  V9   g   K  VP1                  V 4      '       g   K3  VP7                  V 4       KF  	  V P                   P<                   FX  pVe   VP:                  V9   g   K  VP.                  '       g   K.  VP1                  V 4      '       g   KG  VP7                  V 4       KZ  	  V
P>                  P@                  V P>                  n         R# u up	i )a  
Reload field values from the database.

By default, the reloading happens from the database this instance was
loaded from, or by the read router if this instance wasn't loaded from
any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields
should be an iterable of field attnames. If fields is None, then
all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading
of the field will call this method.
N_prefetched_objects_cachec              3   4   "   T F  p\         V9   x  K  	  R # 5ir   r   r   s   & r>   rk   (Model.refresh_from_db.<locals>.<genexpr>  s     3Fq:?Fs   TFzRFound "%s" in fields argument. Relations and transforms are not allowed in fields.r   )hintsr-  r;   )!rd  r|   r   r   remover   r   r   r   r   
db_managerusingfilterr-  ra  onlyrc   r	  r  r   r   concreter   is_relation	is_cachedset_cached_valueget_cached_valuedelete_cached_valuerelated_objectsrQ   r   r  r   )r=   rk  r   from_querysetprefetched_objects_cacher   rg  db_instance_qsdeferred_fieldsr   db_instancenon_loaded_fieldsrels   &&&&         r>   refresh_from_dbModel.refresh_from_db  s    >-/D*'.t5PRT'U$[F407MM%( ' s3F3sss3F333 13=> 
  &E NN88CCECWM)//6M&---9 224+00&9N+00 "ZZ777yy7 AII7N %((*';;=ZZ&&E}} 11~~~mmW[---PQ   ??;//**41G1G1TU__T**--d3 ' ::--C#((f"4#--:M:M''- .
 ZZ..E5::#7%%%OOD))))$/ / %++..Is   "N:Nc                X   "   \        V P                  4      ! WVR 7      G Rj  xL
 #  L5i))rk  r   ru  N)r   r|  )r=   rk  r   ru  s   &&&&r>   arefresh_from_dbModel.arefresh_from_db  s,     "4#7#78m
 
 	
 
   !*(*c                     V P                   P                  V4      p\        YP                  4      #   \         d    \        Y4      u # i ; i)a  
Return the value of the field name for this instance. If the field is
a foreign key, return the id value instead of the object. If there's
no Field object with this name on the model, return the model
attribute's value.

Used to serialize a field's value (in the serializer, or form output,
for example). Normally, you would just access the attribute directly
and not use this method.
)rc   r  r   r|   r  )r=   
field_namer   s   && r>   serializable_valueModel.serializable_value  sH    	-JJ((4E t]]++ ! 	-4,,	-s   2 A
Aforce_insertFforce_updaterk  update_fieldsc               <   V P                  RR7       T;'       g#    \        P                  ! V P                  V R7      pV'       d   V'       g	   V'       d   \	        R4      hV P
                  P                   Uu0 uF>  pVP                  V P                  9  g   K   VP                  RJ g   K2  VP                  kK@  	  ppVeg   V'       g   R# \        V4      pV P
                  P                  pVP                  V4      pV'       d"   \	        RRP                  V4      ,          4      hMV'       g   V'       d   W0P                  P                  8X  d   V P!                  4       '       d   \#        4       pV P
                  P$                  p	V P
                  P                   F:  p
W9  g   K  \'        V
R	4      '       d   K  VP)                  V
P                  4       K<  	  VP                  V4      pV'       d   \        V4      pV P+                  VVVVR
7       R# u upi )a1  
Save the current instance. Override this in a subclass if you want to
control the saving process.

The 'force_insert' and 'force_update' parameters can be used to insist
that the "save" must be an SQL insert or update (or equivalent for
non-SQL backends), respectively. Normally, they should not be set.
save)operation_namer   z6Cannot force both insert and updating in model saving.FNzmThe following fields do not exist in this model, are m2m fields, primary keys, or are non-concrete fields: %sr   through)rk  r  r  r  ) _prepare_related_fields_for_saver   db_for_writer   r   rc   r	  r  r   r  	frozenset_non_pk_concrete_field_names
differencer   r  r   r6  r   	pk_fieldsrZ   r   	save_base)r=   r  r  rk  r  r   deferred_non_generated_fieldsr   not_updatable_fieldsr  r   loaded_fieldss   &$$$$       r>   r  
Model.save+  s   " 	--V-DKK,,T^^dK\]UVV ZZ//)
/yy- 23++2F AII/ 	& )

 $ !%m4M**AAK#0#;#;K#H # Kii 456  $ -'!!%K

,,I33)'%2K2KOOEMM2 4 (223PQM )- 8%%'	 	 	
Q)
s   :HH.HTc               \   "   \        V P                  4      ! VVVVR 7      G Rj  xL
 #  L5i))r  r  rk  r  N)r   r  )r=   r  r  rk  r  s   &$$$$r>   asaveModel.asaves  s3      #499-%%'	
 
 	
 
s   #,*,c                6   VR J d   R# VRJ d   V 3# \        V\        4      '       g   \        R4      hV F`  p\        V\        4      '       g   \        RV: R24      h\	        W4      '       d   K<  \        RVP
                   RV P
                   R24      h	  V# )FTz%force_insert must be a bool or tuple.zInvalid force_insert member. z must be a model subclass.z must be a base of rO   r;   )ry   r   r   r^   
issubclassrH   )r   r  members   && r>   _validate_force_insertModel._validate_force_insert  s    5 I46M,..CDD"Ffi003F:=WX  c**3F4G4G3H I"//03  # rB   c           
        T;'       g#    \         P                  ! V P                  V R7      pV'       d   V'       g	   V'       d   Q hVe   V'       g   Q hV P                  ;rgVP                  P                  '       d   VP                  P
                  pVP                  pVP                  '       g   \        P                  ! VV VVVR7       VP                  '       d   \        P                  ! VRR7      p	M\        P                  ! VR7      p	T	;_uu_ 4        Rp
V'       g$   V P                  V4      pV P                  WdWR4      p
T P                  TTT;'       g    T
VVV4      pRRR4       W@P                   n        RV P                   n        VP                  '       g$   \&        P                  ! VV X'       * VVVR7       R# R#   + '       g   i     Lh; i)a>  
Handle the parts of saving which should be done only once per save,
yet need to be done in raw saves, too. This includes some sanity
checks and signal sending.

The 'raw' argument is telling save_base not to save any parent
models and not to do any changes to the values before save. This
is used by fixture loading.
r  N)r   r   rawrk  r  F)rk  	savepoint)rk  )r   r   createdr  r  rk  )r   r  r   rc   r   r   ru   r/   r   r   r   atomicmark_for_rollback_on_errorr  _save_parents_save_tabler  r   r   r-   )r=   r  r  r  rk  r  r   originr   context_managerparent_insertedupdateds   &&&&&&      r>   r  Model.save_base  sw   " KK,,T^^dK lmEE$55~~%99???))**Cyy   MM+ <<<)00uNO)DD5QO_#O#::<H"&"4"4# &&//G " "    NN$+ !- _s   AG
GG	c           
     (   VP                   pRpVf   / pVP                  P                  4        EF^  w  rV	'       d   \        WP                   P                  P
                  4      fU   \        W	P
                  4      e>   \        WP                   P                  P
                  \        W	P
                  4      4       VP                  V4      ;p
fN   V P                  VVVVVR7      pT P                  TTTT;'       g    \        W4      R7      pV'       g   RpWV&   M
V
'       g   RpV	'       g   EK  \        W	P
                  V P                  VP                   4      4       V	P                  V 4      '       g   EKM  V	P                  V 4       EKa  	  V# )z3Save all the parents of cls using values from self.F)r   rk  r  r  updated_parents)r   rk  r  r  T)rc   r   r{   r|   r-  r  r   r   r  r  r  rU  rp  rs  )r=   r   rk  r  r  r  r   insertedr   r   parent_updatedr  r  s   &&&&&&       r>   r  Model._save_parents  sR    yy" O!\\//1MF D,,//"9"9:BD--0<lloo55wt]]7ST"1"5"5f"==F"&"4"4"/!-$3 #5 # **"/!0!T!TJv4T	 +  #H*1'#ummT-=-=fll-KL ??4((--d3I 2J rB   c           
     
   VP                   pVP                  pVP                   U	u. uF!  p	W9  g   K  V	P                  '       d   K  V	NK#  	  p
p	V'       d6   V
 U	u. uF)  p	V	P                  V9   g   V	P
                  V9   g   K'  V	NK+  	  p
p	V P                  V4      '       g<   VP                  P                  V 4      p\        WP                  P
                  V4       V P                  V4      pV'       g   V'       g	   V'       d   \        R4      hRpV'       g}   V'       gu   V'       gm   V P                  P                  '       dQ   \        ;QJ d&    R VP                   4       F  '       d   K   RM	  RM! R VP                   4       4      '       d   RpV'       Ed   V'       Eg   VP                  P                  V4      pV
 U	u. uF5  p	T	RV'       d   \!        W	P
                  4      MV	P#                  V R4      3NK7  	  pp	T;'       g    TpV P%                  V4      pVP                   U	u. uF<  p	V	P                  '       g   K  V	P&                  P)                  V
4      '       g   K:  V	NK>  	  pp	V FC  w  pppVe   VP                  V9   g   K  \+        VR4      '       g   K2  VP-                  V4       KE  	  V P/                  VVVVVVV4      p\1        V4      ;p'       d   V P3                  V^ ,          V4       M2V'       d   V P5                  R4      hV'       d   V P5                  R4      hV'       Eg$   VP6                  '       d   VP6                  pVP9                  V 4      pVP                  P                  V4      P:                  ! R/ VB P=                  \?        \A        \C        R	4      \E        ^4      ,           \G        4       R
7      \E        ^ 4      4      R7      R,          V n$        VP                   U	u. uF2  p	V	P                  '       d   K  V'       g   WPJ                  Jg   K0  V	NK4  	  pp	\M        VPN                  4      p\P        V,          PR                  PT                  pV F  pV'       d   \!        V VP
                  4      MVP#                  V R4      p\+        VR4      '       d   VV9  d   VP-                  V4       K_  Ka  VPV                  '       g   Ku  V'       d   K  V'       d   VVPJ                  J d   K  VPY                  V4       K  	  V P[                  VP                  VVVV4      pV'       d   V P3                  V^ ,          V4       V# u up	i u up	i u up	i u up	i u up	i )zX
Do the heavy-lifting involved in saving. Update or insert the data
for a single table.
z5Cannot force an update in save() with no primary key.Fc              3   p   "   T F,  qP                  4       ;'       g    VP                  4       x  K.  	  R # 5ir   )has_defaulthas_db_defaultr   s   & r>   rk   $Model._save_table.<locals>.<genexpr>8  s(     R>aMMO99q'7'7'99>s   66TNresolve_expressionz&Forced update did not affect any rows.z0Save with update_fields did not affect any rows._order)output_field)_order__maxr  r;   ).rc   r  local_concrete_fieldsr  rQ   r  r6  r-  get_pk_value_on_saver   r   r  r   allr   rk  r|   r/   rU  referenced_fieldsintersectionrZ   rG  
_do_updatebool_assign_returned_valuesro   r   get_filter_kwargs_for_objectrl  	aggregater&   r   r   r   r   r  
auto_fieldlistdb_returning_fieldsr   featurescan_return_columns_from_insertdb_returningri  
_do_insert)r=   r  r   r  r  rk  r  r   r  r   non_pks_non_generatedr^  pk_setr  base_qsr#  forced_updatereturning_fieldsr   _modelr[   resultsfilter_argsinsert_fieldsr  s   &&&&&&&                  r>   r  Model._save_table  s    yyNN	 //!
/! *+++ A/ 	 !
  /%.A66]*aii=.H . " % t$$WW11$7FD''//62&<=TUU   """R4>>RR4>>RRRL 6,,''--e4G / /A	 14WT99-!**T5:Q
 /   *99\M%%d+F 33 3AKK  ++889NO	 3    )/$vu!)UZZ=-Hg/O O %++E2	 )/
 oo G w-'w',,WQZ9IJoo&NOOooF  w))) 22#@@F%%++E2V +)+Y$,- #Ha 8|~ "!H	%   $	%  333A{{ (.!??2J 3  
  $D$<$<=-8.h55 + '47GD%--0U^^DRW=X  5"677$44(//6 5 &&&::#(@$++E2 ' oo!!5-9I3G ,,WQZ9IJm!
%4 `sR   U#U#U#$U(U(
U-,U-2U2U2.U2U7U7"U73U7c                z   VP                  VR7      pV'       g    Vf   VP                  4       '       d   R.# . # V P                  P                  '       dW   V'       gO   VP                  4       '       g   . # VP	                  WG4      ;p	'       d   V	# VP                  4       '       d   R.# . # VP	                  WG4      # )z
Try to update the model. Return True if the model was updated (if an
update query was done and a matching row was found in the DB).
rh  r;   )rl  existsrc   select_on_save_update)
r=   r  rk  r^  r#  r  r  r  filteredr  s
   &&&&&&&&  r>   r  Model._do_update  s     >>V>, (HOO,=,=tI::$$$] ??$$	"**6DDwD#??,,B44"499rB   c                0    VP                  V .VVVVR7      # )zs
Do an INSERT. If returning_fields is defined then this method should
return the newly created data for the model.
)r   r  rk  r  )_insert)r=   r   rk  r   r  r  s   &&&&&&r>   r  Model._do_insert  s+    
 F-  
 	
rB   c                    \        V4      p\        W4       F  w  rE\        WP                  V4       K  	  V F)  pV P                  P                  VP                  R 4       K+  	  R # r   )r  r  r   r  r   rz   )r=   returned_valuesr  returning_fields_iterr[   r   s   &&&   r>   r  Model._assign_returned_values  sR     $%5 6GLED--/ H +EMMemmT2 +rB   c                T   V P                   P                   EFP  pV'       d	   W29  d   K  VP                  '       g   K(  VP                  V 4      '       g   KA  \	        WP
                  R 4      pV'       g   Ka  VP                  4       '       gU   VP                  P                  '       g   VP                  P                  V4       \        V: RVP
                  : R24      h\	        WP                  4      VP                  9   d   \        WP
                  V4       \	        WCP                  P                  4      \	        WP                  4      8w  g   EK?  VP                  V 4       EKS  	  V P                   P                   F  pV'       d	   W29  d   K  VP                  '       g   K'  VP                  V 4      '       g   K@  \!        VR4      '       g   KT  VP#                  V R R7      pV'       g   Kq  VP                  4       '       d   K  \        V RVP
                   R24      h	  R # )NzB() prohibited to prevent data loss due to unsaved related object 'rs   fk_field)default)rc   r	  ro  rp  r|   rQ   r6  r   multiplers  r   r  empty_valuesr   rX  r   rZ   rr  )r=   r  r   r   r   s   &&&  r>   r  &Model._prepare_related_fields_for_save  s   
 ZZ//E%-    U__T%:%:dJJ5 ~~'' --666**>>sC$2@%**N  T==1U5G5GG D**c2 3 2 2 : :;w--@  --d3A 0D ZZ..E%-!!!OOD))E:..,,T4,@3s~~//$)* +338::,bB  /rB   c                p   V P                  4       '       gF   \        V P                  P                  : R V P                  P                  P
                  : R24      hT;'       g#    \        P                  ! V P                  V R7      p\        WR7      pVP                  V .VR7       VP                  4       # )z% object can't be deleted because its z attribute is set to None.r  )rk  r  )keep_parents)r6  r   rc   r>  r-  r  r   r  r   r   collectdelete)r=   rk  r  	collectors   &&& r>   r  Model.delete	  s      "jj44djjmm6K6KM  KK,,T^^dKE7	4&|<!!rB   c                X   "   \        V P                  4      ! VVR 7      G Rj  xL
 #  L5i))rk  r  N)r   r  )r=   rk  r  s   &&&r>   adeleteModel.adelete  s+     "4;;/%
 
 	
 
r  c                    \        WP                  4      p\        \        VP                  4      4      p\        VP                  \        V4      V4      R R7      # )T)strings_only)r|   r  dictr3   flatchoicesr2   r   )r=   r   r[   choices_dicts   &&  r>   _get_FIELD_displayModel._get_FIELD_display  sI    mm,M%*;*;<=]5159
 	
rB   c                0   V P                  4       '       g   \        R 4      hV'       d   RMRpV'       d   RMRp\        WP                  4      p\        P
                  ! VP                  V3RV 2V P                  3.\        P                  R7      p\        P
                  ! WqP                   RV 2V3.\        P                  R7      pV P                  P                  P                  V P                  P                  4      P                  ! R
/ VB P                  V4      P!                  V: VP                  : 2RV,          4      p V^ ,          #   \"         d8    T P%                  R	T P                  P&                  P(                  ,          4      hi ; i)z8get_next/get_previous cannot be used on unsaved objects.gtlt -pk__)	connector__z%spkz!%s matching query does not exist.r;   )r6  r   r|   r  r*   createrQ   r-  ANDORr   r   rk  r  r   rl  order_byr
  re   rc   r>  )	r=   r   r   r   oporderparamqqss	   &&&,     r>   _get_next_or_previous_by_FIELD$Model._get_next_or_previous_by_FIELD&  s=     WXXT$3mm,HHuzz5)d2$K+ABaeeTHHaZZL2$/78ADDINN++11$++..AV VAYXuzz2FUNC	 		a5L 	##3dnn6J6J6V6VV 	s   
E AFc                d   R V,          p\        W4      '       Eg   V'       d   RMRpV'       d   RMRpV P                  P                  pVP                  V 4      pV P                  P
                  P                  ! R/ VB P                  ! R/ RV,          V P                  P
                  P                  R4      P                  ! R/ V P                  P                  P                  V P                  /B /B P                  V4      R,          P                  4       p\        WV4       \        W4      # )z__%s_order_cacher  r  r  z-_orderz
_order__%s:N   Nr;   )rZ   rc   r   r  r   r   rl  r#  r-  rQ   r  r   r   r|   )r=   r   	cachenamer  r  order_fieldr  r   s   &&      r>   r   $Model._get_next_or_previous_in_order;  s   &0	t'' dB 'HYE**::K%BB4HK//66EE  %"nn==DDXNUU #zz}}11477; %	%   DS)t''rB   c                (  a a Sf   \        4       oT;'       g    S P                  p/ p. pVP                   EF  pVP                  S9   d   K  VP                  '       d   \
        ;QJ d8    V3R lS P                  VP                  4       4       F  '       g   K   RM-	  RM)! V3R lS P                  VP                  4       4       4      '       d   K  VP                  V4       K  \        VP                  \        4      '       dq   WQP                  9  da   \        ;QJ d!    . V 3R lVP                   4       F  NK  	  5M! V 3R lVP                   4       4      p\        V4      ^8X  d
   V^ ,          pM,VP                   '       d   \#        S VP$                  4      pMEKl  V'       d   \'        VR4      '       g   \)        We4      pWcVP                  &   WcVP$                  &   EK  	  RS9  d$   \)        S P*                  VP*                  4      VR&   V'       dr   VP-                  4        UUu/ uF  w  rv\/        V4      VbK  	  pppV F>  p	\1        V	P                  P3                  V4      V	P4                  4      W9P                  &   K@  	  V# u uppi )Nc              3   <   <"   T F  pV^ ,          S9   x  K  	  R# 5i)r   Nr;   )ri   refexcludes   & r>   rk   2Model._get_field_expression_map.<locals>.<genexpr>\  s!      J Fg%J   TFc              3   <   <"   T F  p\        SV4      x  K  	  R # 5ir   )r|   )ri   
from_fieldr=   s   & r>   rk   r  g  s      @Q*GD*--@Qr  r  r-  )r   rc   r   rQ   r  r   _get_expr_references
expressionrG  ry   r   r"   r  r   from_fieldsr  rn  r|   r  rZ   r   r-  r{   r)   r   replace_expressionsr  )
r=   r   r  	field_mapgenerated_fieldsr   r[   rQ   replacementsgenerated_fields
   f&f       r>   _get_field_expression_mapModel._get_field_expression_mapR  s	   ?eG!!tzz	&&EzzW$3 #889I9IJ333 #889I9IJ    ''.5--/?@@!;!;; @E@Q@Q @E@Q@Q  u:?!!HEemm4/C D De+$)ejj!',emm$7 '8 w#DGGTWW5IdO>Goo>OP>O{tAdGUN>OLP#32C#..BB<P#003	../ $4  Qs   .Jc                    V P                  4       '       g   \        R V ,          4      h\        WP                  P	                  4       P
                  4      # )z9Unsaved model instance %r cannot be used in an ORM query.)r6  r   r|   r   get_related_fieldr  )r=   r   s   &&r>   prepare_database_saveModel.prepare_database_save  sF      KdR  t//AACKKLLrB   c                    R# )a!  
Hook for doing any extra model-wide validation after clean() has been
called on every field by self.clean_fields. Any ValidationError raised
by this method will not be associated with a particular field; it will
have a special-case association with the field defined by
NON_FIELD_ERRORS.
Nr;   r<   s   &r>   cleanModel.clean  s     	rB   c                   V P                  VR7      w  r#V P                  V4      pV P                  V4      pVP                  4        F&  w  rgVP	                  V. 4      P                  V4       K(  	  V'       d   \        V4      hR# )zP
Check unique constraints on the model and raise ValidationError if any
failed.
r  N)_get_unique_checks_perform_unique_checks_perform_date_checksr{   
setdefaultextendr   )r=   r  unique_checksdate_checkserrorsdate_errorskvs   &&      r>   validate_uniqueModel.validate_unique  s    
 &*%<%<W%<%M",,];//<%%'DAa$++A. ( !&)) rB   c                6  a Sf   \        4       o. pV P                  V P                  P                  3.p. pV'       d$   V P                  V P                  P                  3.pV P                  P
                   F  pVP                  P                  '       d'   VP                  WfP                  P                  34       V'       g   KO  VP                  P                  '       g   Km  VP                  WfP                  P                  34       K  	  V Fl  w  rxV Fa  p	\        ;QJ d    V3R lV	 4       F  '       g   K   RM	  RM! V3R lV	 4       4      '       d   KE  VP                  V\        V	4      34       Kc  	  Kn  	  V'       d   V F  w  rzV
 Fu  p\        ;QJ d)    V3R lVP                   4       F  '       g   K   RM	  RM! V3R lVP                   4       4      '       d   KY  VP                  W{P                  34       Kw  	  K  	  . pV P                  V P                  P                  3.pV P                  P
                   F)  pVP                  WfP                  P                  34       K+  	  V EF  w  r~V EF  pVP                  pVS9   d   K  \        V\        4      '       dm   \        ;QJ d    . R VP                   4       F  NK  	  5M! R VP                   4       4      pSP                  V4      '       d   VP                  VV34       K  VP                  '       d   VP                  VV334       VP                   '       d1   VP                   S9  d    VP                  VRVVP                   34       VP"                  '       d1   VP"                  S9  d    VP                  VRVVP"                  34       VP$                  '       g   EKZ  VP$                  S9  g   EKn  VP                  VRVVP$                  34       EK  	  EK  	  W<3# )	aK  
Return a list of checks to perform. Since validate_unique() could be
called from a ModelForm, some fields may have been excluded; we can't
perform a unique check on a model that is missing fields involved
in that check. Fields that did not validate should also be excluded,
but they need to be passed in via the exclude argument.
c              3   ,   <"   T F	  qS9   x  K  	  R # 5ir   r;   ri   rQ   r  s   & r>   rk   +Model._get_unique_checks.<locals>.<genexpr>  s     =ut7?u   TFc              3   ,   <"   T F	  qS9   x  K  	  R # 5ir   r;   r<  s   & r>   rk   r=    s     M;L4w;Lr>  c              3   8   "   T F  qP                   x  K  	  R # 5ir   r   ri   r   s   & r>   rk   r=    s     !C(**(r   dateyearmonth)r   r   rc   unique_togethertotal_unique_constraintsall_parentsrG  r   r   r   r   rQ   ry   r!   
isdisjointuniqueunique_for_dateunique_for_yearunique_for_month)r=   r  include_meta_constraintsr2  unique_togethersconstraintsparent_classmodel_classrE  checkmodel_constraints
constraintr3  fields_with_classr   r   rQ   namess   &f&               r>   r-  Model._get_unique_checks  s-    ?eG!^^TZZ-G-GHI# NNDJJ,O,OPQK JJ22L!!111 ''!#5#5#E#EF ('L,>,>,W,W,W""!#5#5#N#NO 3 -=(K(s=u=sss=u===!((+uU|)DE ) -= $2=."3J3M:;L;LM333M:;L;LMMM%,,k;L;L-MN #4 3> 
 #nndjj.E.EFG JJ22L$$l4F4F4S4S%TU 3 $5Kvv7?a!455!E!C!((!CEE!C!((!CCE))%00%,,k5-AB888!((+w)?@$$$):):')I&&VT1CTCT'UV$$$):):')I&&VT1CTCT'UV%%%!*<*<G*K&&WdADVDV'WX!  $5$ ))rB   c                   / pV EF  w  r4/ pV F  pV P                   P                  V4      p\        WP                  4      pVe(   VR8X  d#   \        P
                  P                  '       d   K`  WsP                   P                  9   d   V P                  P                  '       g   K  W\        V4      &   K  	  \        V4      \        V4      8w  d   K  VP                  P                  ! R/ VB p	V P                  VP                   4      p
V P                  P                  '       g4   V P                  VP                   4      '       d   V	P!                  V
R7      p	V	P#                  4       '       g   EKm  \        V4      ^8X  d   V^ ,          pM\$        pVP'                  V. 4      P)                  V P+                  W44      4       EK  	  V# )Nr  rh  r;   )rc   r  r|   r  r   r  !interprets_empty_strings_as_nullsr  r  r   strr  r   rl  rU  r6  r  r  r
   r0  rG  unique_error_message)r=   r2  r4  rQ  unique_checklookup_kwargsr  r   lookup_valuer
  model_class_pkkeys   &&          r>   r.  Model._perform_unique_checks  sp   )6%K M*
JJ((4&tYY7' B&"++MMM ))333DKK<N<N<N1=c*o. +  < C$66--44E}EB "--k.?.?@N;;%%%$//+:K:K*L*LZZ>Z2yy{{|$)&q/C*C!!#r*11--kHQ *7X rB   c                   / pV EF9  w  r4rV/ p\        W4      pVf   K  VR8X  dD   VP                  VRV,          &   VP                  VRV,          &   VP                  VRV,          &   M\        W4      Wv: RV: 2&   \        W4      Wu&   VP                  P
                  ! R/ VB p	V P                  P                  '       g3   V P                  4       '       d   V	P                  V P                  R7      p	V	P                  4       '       g   EK  VP                  V. 4      P                  V P                  WEV4      4       EK<  	  V# )NrB  z%s__dayz	%s__monthz%s__yearr  rh  r;   )r|   dayrD  rC  r   rl  r  r   r6  r  r-  r  r0  rG  date_error_message)
r=   r3  r4  rQ  lookup_typer   
unique_forr]  rB  r
  s
   &&        r>   r/  Model._perform_date_checks  s    ;F7KeM 4,D|f$8<i*45:>**kJ679=j:56FMG*kBC $+4#7M --44E}EB ;;%%%$//*;*;ZZ477Z+yy{{!!%,33++K
K1 <G6 rB   c                &   V P                   pVP                  V4      p\        VP                  R ,          R RV R\	        VP
                  4      RVRVR\	        VP
                  4      RVR\	        VP                  V4      P
                  4      /R7      # )	rJ  r   r   re  r   field_label
date_fielddate_field_labelmessagecodeparams)rc   r  r   error_messagesr4   verbose_name)r=   re  r  rf  r   r   s   &&&&  r>   rd  Model.date_error_message5  s    zzz*(():;"ht'8'89{x(:(:;j"HT^^J-G-T-T$U
 	
rB   c                   VP                   pR V RVR\        VP                  4      RV/p\        V4      ^8X  dP   VP	                  V^ ,          4      p\        VP                  4      VR&   \        VP                  R,          RVR7      # V Uu. uF'  p\        VP	                  V4      P                  4      NK)  	  pp\        V\        R4      4      VR&   \        \        R	4      R
VR7      # u upi )r   rQ  r   r\  ri  rI  rl  andfield_labelsz9%(model_name)s with this %(field_labels)s already exists.rE  )	rc   r4   rq  r  r  r   rp  r5   _)r=   rQ  r\  r   ro  r   r   ru  s   &&&     r>   r[  Model.unique_error_messageF  s       T;(4#4#45L	
 |!NN<?3E$,U-?-?$@F=!",,X6  COBNQ*778,   &3<5%JF>""UV& 	s   -C+c                   V P                   V P                  P                  3.pV P                  P                   FG  pVP                  P                  '       g   K!  VP	                  W"P                  P                  34       KI  	  V# r   )r   rc   rO  rG  rG  )r=   rO  rP  s   &  r>   get_constraintsModel.get_constraintsf  sh    

(>(>?@ JJ22L!!---""L2D2D2P2P#QR 3 rB   c           	         V P                  4       p\        P                  ! V P                  V R 7      p/ pV F"  w  rVV F  p VP	                  WPWR7       K  	  K$  	  V'       d   \        V4      hR#   \
         d   p\        TRR4      R8X  dS   \        TP                  4      ^8X  d9   TP                  TP                  ^ ,          . 4      P                  T4        Rp?K  TP                  T4      p Rp?K  Rp?ii ; i)r  )r  rk  rn  NrI  )ry  r   r  r   validater   r|   r  r   r0  rG  update_error_dict)	r=   r  rO  rk  r4  rQ  rS  rT  es	   &&       r>   validate_constraintsModel.validate_constraintsm  s    **,##DNNTB.9*K/
	=''7'X 0 /: !&))  ' =640H<
 1 12a7))**;*;A*>CJJ1MM!"!4!4V!<=s   A22C==AC8!C88C=c                   / pVf   \        4       pM\        V4      p V P                  VR7        V P	                  4        V'       dC   V F)  pV\
        8w  g   K  Wa9  g   K  VP                  V4       K+  	   V P                  VR7       V'       dC   V F)  pV\
        8w  g   K  Wa9  g   K  VP                  V4       K+  	   V P                  VR7       V'       d   \        V4      hR#   \         d   pTP                  T4      p Rp?LRp?ii ; i  \         d   pTP                  T4      p Rp?LRp?ii ; i  \         d   pTP                  T4      p Rp?LRp?ii ; i  \         d   pTP                  T4      p Rp?LRp?ii ; i)z
Call clean_fields(), clean(), validate_unique(), and
validate_constraints() on the model. Raise a ValidationError for any
errors that occur.
Nr,  )	r   clean_fieldsr   r}  r)  r
   r   r8  r  )r=   r  r8  r  r4  r~  rQ   s   &&&&   r>   
full_cleanModel.full_clean  sZ    ?eG'lG	1g.	1JJL
 ++0CKK% 5$$W$5
  ++0CKK% 5))'): !&)) =  	1((0F	1  	1((0F	1 # 5,,V45 # 5,,V45s^   C* D 9D< E% *D5DDD9D44D9<E"EE"%F0FFc           	         Vf   \        4       p/ pV P                  P                   F  pVP                  V9   g   VP                  '       d   K(  \        WP                  4      pVP                  '       d   WCP                  9   d   Ka  \        V\        4      '       d   Ky   \        WP                  VP                  W@4      4       K  	  V'       d   \        V4      hR#   \         d$   pTP                  Y#P                  &    Rp?K  Rp?ii ; i)zg
Clean all fields and raise a ValidationError containing a dict
of all validation errors if any occur.
N)r   rc   r   rQ   r  r|   r  blankr  ry   r    r   r)  r   
error_list)r=   r  r4  r   	raw_valuer~  s   &&    r>   r  Model.clean_fields  s    
 ?eG""Avv AKKK  ii0Iwww96)_55.ii)AB #  !&))  # .!"vv.s   !%CD*DDc                D   . V P                  4       OV P                  4       OV P                  ! R/ VB OpV P                  P                  '       EgO   VP                  R 4      ;'       g    . pV. V P                  ! R/ VB OV P                  4       OV P                  V4      O,          p. V P                  4       OV P                  4       OV P                  4       OV P                  4       OV P                  4       O5pVP                  V4       V'       g    VP                  V P                  4       4       V. V P!                  4       OV P#                  V4      OV P%                  4       OV P'                  V4      OV P)                  V4      OV P+                  4       O,          pV# )	databasesr;   )_check_swappable_check_model_check_managersrc   r   r   _check_fields$_check_m2m_through_same_relationship_check_long_column_names_check_id_field_check_field_name_clashes#_check_model_name_db_lookup_clashes3_check_property_name_related_field_accessor_clashes_check_single_primary_keyr1  _check_column_name_clashes_check_unique_together_check_indexes_check_ordering_check_constraints_check_db_table_comment_check_composite_pk)r   r   r4  r  clash_errorss   &,   r>   rR  Model.check  s   
!!#

   *6*

 yy   

;/552I "",V,99; --i8 F
$$&..0 88: HHJ	
 ..0L MM,'  c<<>? ++-##I. $$& ''	2	
 ,,Y7 ((* F rB   c           
        . pV P                   pVP                  pVP                  '       g   \        V\        4      '       g   V# \        \        4      pVP                   F  pR p VP                  V4      pV'       g   V: R2pMVP                  '       g   V: R2pMjVP                  '       d   V: R2pMQVP                  '       d   V: R2pM8WrP                  9  d   V: R2pM!WGP                  ,          P                  V4       V'       g   K  VP                  \        P                   ! V: R2VV RR7      4       K  	  VP#                  4        Fe  w  r\%        V	4      ^8  g   K  V	vrZR	P'                  R
 V
 4       4      pVP                  \        P                   ! V R2V RV: R2V RR7      4       Kg  	  V#   \         d    R p ELXi ; i)Nz is not a valid field.z field has no column.z field may not set 'null=True'.z field is a generated field.z field is not a local field.z1 cannot be included in the composite primary key.zmodels.E042hintr   idr   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r  rA  s   & r>   rk   ,Model._check_composite_pk.<locals>.<genexpr>  s     &EutE{{r   z and z are the same fields.)rc   r-  r   ry   r!   r   r  r   r  r   r  nullr  r   rG  r	   Errorr{   r  r   )r   r4  r   r-  seen_columnsr  r  r   r  r   rest
duplicatess   &           r>   r  Model._check_composite_pk  s   yyWW:::Z,?@@M"4(..JDz2 $'=>\\\$'<=$'FG$'CD///$'CD\\*11*=tLL%. ) !(- )@ $0#5#5#7F;!#$/!
!YY&E&EE
LL%, '  *|5>ST(	 $8 S % s   &F??GGc           	        V P                   P                  '       g   . # . pV F  p\        P                  ! W04      '       g   K!  \        V,          pVP
                  P                  '       d   KL  R V P                   P                  9   d   Ki  VP                  \        P                  ! VP                   R2V RR7      4       K  	  V# )supports_commentsz8 does not support comments on tables (db_table_comment).zmodels.W046r   r  )rc   db_table_commentr   allow_migrate_modelr   r  r  required_db_featuresrG  r	   Warningdisplay_name)r   r  r4  r   r   s   &&   r>   r  Model._check_db_table_comment,  s    yy)))IB--b66$RJ##555&#))*H*HHNN%223 45 6(	   rB   c                <   . pV P                   P                  '       d.    \        P                  ! V P                   P                  4       V# V#   \         dG    TP                  \        P                  ! RT P                   P                  ,          RR7      4        T# \         dt    T P                   P                  P                  R4      w  r#TP                  \        P                  ! RT P                   P                  : RT: RT: R2RR7      4        T# i ; i)	z"Check if the swapped model exists.z-'%s' is not of the form 'app_label.app_name'.zmodels.E001r  rO   'z' references 'z0', which has not been installed, or is abstract.zmodels.E002)rc   r   r   	get_modelr   rG  r	   r  	swappableLookupErrorsplit)r   r4  rd   r   s   &   r>   r  Model._check_swappableC  s     99syy001& v%  LLG))--.("   	(+		(9(9(?(?(D%	LL 99..	:G )	 	s   *A ADD'A0DDc                "   . pV P                   P                  '       dq   V P                   P                  '       g   V P                   P                  '       d9   VP	                  \
        P                  ! R V P                  ,          RR7      4       V# )z'Proxy model '%s' contains model fields.zmodels.E017r  )rc   r   r   r   rG  r	   r  rF   r   r4  s   & r>   r  Model._check_model^  sa    99???yy%%%)E)E)ELLACLLP( rB   c                    . pV P                   P                   F$  pVP                  VP                  ! R/ VB 4       K&  	  V# )zPerform all manager checks.r;   )rc   r   r1  rR  )r   r   r4  r   s   &,  r>   r  Model._check_managersk  s:     yy))GMM'--1&12 *rB   c                   . pV P                   P                   F$  pVP                  VP                  ! R/ VB 4       K&  	  V P                   P                   F&  pVP                  VP                  ! RRV /VB 4       K(  	  V# )zPerform all field checks.
from_modelr;   )rc   r   r1  rR  r   )r   r   r4  r   s   &,  r>   r  Model._check_fieldss  sk     YY++EMM%++//0 ,YY11EMM%++???@ 2rB   c           	        . p. pV P                   P                  pR V 4       pR V 4       pV F  pVP                  P                  V VP                  P                  VP                  P
                  3pWR9   dZ   VP                  \        P                  ! RVP                  P                  P                   P                  ,          V RR7      4       K  VP                  V4       K  	  V# )zD
Check if no relationship model is used by more than one m2m field.
c              3   ~   "   T F3  p\        VP                  P                  \        4      '       g   K/  Vx  K5  	  R # 5ir   )ry   r   r   r^   r   s   & r>   rk   =Model._check_m2m_through_same_relationship.<locals>.<genexpr>  s%     SVz!..2F2F	'R!!V   ,=
=c              3   ~   "   T F3  p\        VP                  P                  \        4      '       g   K/  Vx  K5  	  R # 5ir   )ry   r   r  r^   r   s   & r>   rk   r    s%     UVz!..2H2H)'T!!Vr  zWThe model has two identical many-to-many relations through the intermediate model '%s'.zmodels.E003r  )
rc   r   r   r   r  through_fieldsrG  r	   r  r   )r   r4  seen_intermediary_signaturesr   r   	signatures   &     r>   r  *Model._check_m2m_through_same_relationship}  s     ')$-- TVS VVUA$$&&--	I 8LL?..0066<<=  ( -33I>% & rB   c                v   V P                   P                   Uu. uF3  qP                  R8X  g   K  WP                   P                  8w  g   K1  VNK5  	  ppV'       dY   V^ ,          P                  '       g@   V P                   P                  P                  R8X  d   \
        P                  ! RV RR7      .# . # u upi )z%Check if `id` field is a primary key.r  zP'id' can only be used as a field name if the field also sets 'primary_key=True'.zmodels.E004r  )rc   r   rQ   r-  primary_keyr	   r  )r   r   r   s   &  r>   r  Model._check_id_field  s     yy--
-!4AADUAA- 	 
 &)///CIILL4E4E4M/$	  I
s   B6B6B6c                   . p/ pV P                   P                   EF  pVP                   P                   F  pVP                  VP                  4      ;'       g&    VP                  VP
                  4      ;'       g    RpV'       dv   VP                  \        P                  ! RVP                  : RVP                  P                   : RVP                  : RVP                  P                   : R2	V RR7      4       WBVP                  &   WBVP
                  &   K  	  EK  	  V P                   P                   F:  pVP                   P                  4        F  pWB9  g   K  WBVP                  &   K  	  K<  	  V P                   P                  P                  4        F  pV'       g   K  VP                  VP                  4      ;'       g    RpV'       g   K<  VP                  \        P                  ! RVP                   RVP                   RVP                  P                    R2V R	R7      4       K  	  V P                   P                   EF  pVP                  VP                  4      ;'       g&    VP                  VP
                  4      ;'       g    RpVP                  R
8H  ;'       d1    T;'       d'    VP                  R
8H  ;'       d    VP                  V 8H  pV'       df   V'       g^   VP                  \        P                  ! RVP                  : RVP                  : RVP                  P                   : R2VR	R7      4       WBVP                  &   WBVP
                  &   EK  	  V# )z2Forbid field shadowing in multi-table inheritance.NzThe field 'z' from parent model 'z' clashes with the field 'rs   zmodels.E005r  z' from model 'zmodels.E006r  )rc   rG  r   r   rQ   r  rG  r	   r  r   
get_fieldsr   r#  )r   r4  used_fieldsr   r   clashrv   id_conflicts   &       r>   r  Model._check_field_name_clashes  s     ii++F\\..#/UU;??1993MUUQUMM  %zz5;;+<+<affaggmmU !$,	 '(AFF#)*AII& / ,( ii++F\\,,.'*+' / , 99,,335KOOK$4$45==EuLL%k&6&6%7 8!JJ<~ekk6G6G5HL(	 6 ''AOOAFF+QQ{qyy/IQQTE $VV5VVUZZ4-?VVEKKSVDV  [LL./ffejj%++BSBSU(	 #$%&		"' (* rB   c           
        . p. pV P                   P                   Fl  pVP                  pV'       dE   WA9   d?   VP                  \        P
                  ! R VP                  : RV: R2RV RR7      4       K[  VP                  V4       Kn  	  V# )zField 'z' has column name 'z ' that is used by another field.z$Specify a 'db_column' for the field.zmodels.E007r  )rc   r   r  rG  r	   r  rQ   )r   used_column_namesr4  r   column_names   &    r>   r   Model._check_column_name_clashes  s}     ''A((K {?LL,-FFKAC( "((5 (" rB   c                T   . pV P                   pVP                  R 4      '       g   VP                  R 4      '       d2   VP                  \        P
                  ! RV,          V RR7      4       V# \        V9   d0   VP                  \        P
                  ! RV,          V RR7      4       V# )rv  zgThe model name '%s' cannot start or end with an underscore as it collides with the query lookup syntax.zmodels.E023r  zbThe model name '%s' cannot contain double underscores as it collides with the query lookup syntax.zmodels.E024)rF   
startswithendswithrG  r	   r  r   )r   r4  r   s   &  r>   r  )Model._check_model_name_db_lookup_clashes  s    \\
  %%)<)<S)A)AMMCEOP$	"  :%MM@BLM$	 rB   c           	         . pV P                   P                  pR  V P                   P                  RR7       4       pV F:  pWB9   g   K  VP                  \        P
                  ! RV,          V RR7      4       K<  	  V# )c              3      "   T F5  pVP                   '       g   K  VP                  f   K'  VP                  x  K7  	  R # 5ir   )ro  related_modelr  r   s   & r>   rk   LModel._check_property_name_related_field_accessor_clashes.<locals>.<genexpr>2  s0      #
9}} !" AII9s   ???Freversez8The property '%s' clashes with a related field accessor.zmodels.E025r  )rc   r  _get_fieldsrG  r	   r  )r   r4  r  related_field_accessorsaccessors   &    r>   r  9Model._check_property_name_related_field_accessor_clashes.  s|    22#
YY**5*9#

 0H)LL$&./(	 0 rB   c                    . p\        R  V P                  P                   4       4      ^8  d)   VP                  \        P
                  ! RV RR7      4       V# )c              3   L   "   T F  qP                   '       g   K  ^x  K  	  R# 5i)r  N)r  r   s   & r>   rk   2Model._check_single_primary_key.<locals>.<genexpr>F  s     B0QMMqq0s   $
$zBThe model cannot have more than one field with 'primary_key=True'.zmodels.E026r  )sumrc   r   rG  r	   r  r  s   & r>   r  Model._check_single_primary_keyC  sN    B#))00BBQFMM*$	 rB   c                   \        V P                  P                  \        \        34      '       g   \
        P                  ! RV RR7      .# \        ;QJ d0    R V P                  P                   4       F  '       g   K   RM%	  RM!! R V P                  P                   4       4      '       d   \
        P                  ! RV RR7      .# . pV P                  P                   F$  pVP                  V P                  VR	4      4       K&  	  V# )
z,Check the value of "unique_together" option.z*'unique_together' must be a list or tuple.zmodels.E010r  c              3   X   "   T F   p\        V\        \        34      '       * x  K"  	  R # 5ir   )ry   r   r  )ri   r   s   & r>   rk   /Model._check_unique_together.<locals>.<genexpr>]  s(      
3 6E4=1113s   (*TFz7All 'unique_together' elements must be lists or tuples.zmodels.E011rE  )
ry   rc   rE  r   r  r	   r  r   r1  _check_local_fields)r   r4  r   s   &  r>   r  Model._check_unique_togetherQ  s     #))33eT]CC@$  S 
))33
SSS 
))33
 
 

 M$  F))33c55f>OPQ 4MrB   c                    . pV Fk  p\         P                  ! W04      '       g   K!  \        V,          pV P                  P                   F#  pVP                  VP                  W4      4       K%  	  Km  	  V# r   )r   r  r   rc   r   r1  rR  )r   r  r4  r   r   r   s   &&    r>   r  Model._check_indexeso  s^    B--b66$RJ**ekk#:; +	  rB   c                   ^ RI Hp / pV P                  P                  RR7       F3  pWTVP                  &   \        VR4      '       g   K%  WTVP                  &   K5  	  . pV EF  p WG,          p\        VP                  VP                  4      '       d8   VP                  \        P                  ! RV: RV: RV: R2V R	R
7      4       Kj  \        WSP                  4      '       d7   VP                  \        P                  ! V: RV: RV: R2V RR
7      4       K  \        VP                  \        4      '       dh   WPP                  P                  9  dN   \!        VP"                  4      ^8  d4   VP                  \        P                  ! V: RV: R2V RR
7      4       EKB  WPP                  P$                  9  dN   VP                  \        P                  ! RV: RV: RV P                  P&                  : R2RV RR7      4       EK  EK  	  V#   \(         d7    TP                  \        P                  ! RT: RT: R2T RR
7      4        EK  i ; i)r   )modelsFr  r  r  z' refers to a ManyToManyField 'z.', but ManyToManyFields are not permitted in 'rs   zmodels.E013r  z! refers to a CompositePrimaryKey z0, but CompositePrimaryKeys are not permitted in rO   zmodels.E048z refers to a ForeignObject zE with multiple 'from_fields', which is not supported for that option.zmodels.E049z' refers to field 'z' which is not local to model 'z4This issue may be caused by multi-table inheritance.zmodels.E016r  z#' refers to the nonexistent field 'zmodels.E012)	django.dbr  rc   r  rQ   rZ   r  ry   r   ManyToManyRelrG  r	   r  r!   r"   r  r  r  r   r>  r  )r   r   optionr  forward_fields_mapr   r4  r  s   &&&     r>   r  Model._check_local_fieldsz  s   $  YY**5*9E-2uzz*ui((495==1 :
  J>*6 e00&2F2FGGMM !' * & !$,
  'A'ABBMM%j(I)n -,,2:Q8 !$, u113CDDYY%D%DDE--.2MM%j(CJ> R& & !$, ))"8"88MM'-z399;P;PR!W #, 9m !@ {  LL #&
  (
 
s   %H<IIc                   V P                   P                  '       d   \        P                  ! RV RR7      .# V P                   P                  '       g   V P                   P
                  '       g   . # \        V P                   P
                  \        \        34      '       g   \        P                  ! RV RR7      .# . pV P                   P
                  pR V 4       pR V 4       p. p. pV F2  p\        V9   d   VP                  V4       K!  VP                  V4       K4  	  TpV F  pT pRpVP                  \        4       Fz  p	 V	R	8X  d   VP                   P                  pMVP                   P                  V	4      pVP                  '       d*   VP                  R,          P                   P"                  pKx  RpK|  	  K  	  V Uu0 uF  qUR	8w  g   K  VkK  	  pp. p
V P                   p\-        \.        P0                  ! R \/        VP2                  VP4                  4       4       4      4      pV
P7                  W,,
          4       V
 F2  pVP                  \        P                  ! R
V,          V RR7      4       K4  	  V#   \$        \&        3 dg    Te'   TP)                  T	4      fK   TP+                  T	4      f4   TP                  \        P                  ! R
T,          T RR7      4        EK   EK   EK  i ; iu upi )zM
Check "ordering" option -- is it a list of strings and do all fields
exist?
z?'ordering' and 'order_with_respect_to' cannot be used together.zmodels.E021r  zQ'ordering' must be a tuple or list (even if you want to order by only one field).zmodels.E014c              3   h   "   T F(  p\        V\        4      '       g   K  VR 8w  g   K$  Vx  K*  	  R# 5i)?N)ry   rZ  r   s   & r>   rk   (Model._check_ordering.<locals>.<genexpr>  s#     GVz!S'9!a3h!!Vs   22
2c              3   B   "   T F  qP                  R 4      x  K  	  R# 5i)r  N)removeprefixr   s   & r>   rk   r    s     6v!..%%vs   Nr-  zJ'ordering' refers to the nonexistent field, related field, or lookup '%s'.zmodels.E015c              3      "   T F\  pVP                   '       d   VP                  '       d   VP                  VP                  3MVP                  P                  4       3x  K^  	  R # 5ir   )ru   rn  rQ   r  r   related_query_namer   s   & r>   rk   r  	  sU        BA NNN1::: VVQYY'''44689 Bs   A&A&;A&)rc   _ordering_clashr	   r  r   rq   ry   r  r   r   rG  r  r-  r  ro  
path_infosto_optsr   r   AttributeErrorget_transform
get_lookupr   r   from_iterabler   rt  r1  )r   r4  r   _fieldsrelated_fieldsr   r   _clsfldpartinvalid_fieldsr   valid_fieldsinvalid_fields   &             r>   r  Model._check_ordering  s    99$$$U$  99***#))2D2D2DI#)),,tUm<<'$	  ## HVG 7v6 AQ%%a(q!	 
  $EDCJ/t|"jjmm"jj2248"~~b199??# 0 $: $1VDy!!V1  yy   t{{D,@,@A  	
 	f34+MMM-/<=$	 , [ *>: {))$/7CNN4<P<X"LL!ACH!I$'#0	  =Y7 2s,   A
I?'I?9I?K9K9?A*K65K6c                   V'       g   . # . pRpRpV F  p\         P                  ! WP4      '       g   K!  \        V,          pVP                  P	                  4       pVe   VP
                  P                  '       d   Kj  Vf   TpTpKt  Ws8  g   K|  TpTpK  	  Vf   V# V P                  P                   Fm  pVP                  e   K  VP                  ;p	f   K%  \        V	4      V8  g   K7  VP                  \        P                  ! RV	: RV: RV: R2RV RR7      4       Ko  	  V P                  P                   F  p\!        VP"                  P$                  \&        4      '       d   K/  VP"                  P$                  P                  P                   Fm  p
V
P                  e   K  V
P                  ;pf   K%  \        V4      V8  g   K7  VP                  \        P                  ! R	V: RV: RV: R2R
V RR7      4       Ko  	  K  	  V# )z~
Check that any auto-generated column names are shorter than the limits
for each database in which the model will be created.
Nz.Autogenerated column name too long for field "z". Maximum length is "z" for database "z".z/Set the column name manually using 'db_column'.zmodels.E018r  z2Autogenerated column name too long for M2M field "z\Use 'through' to create a separate model for M2M and then set column_name using 'db_column'.zmodels.E019)r   r  r   opsmax_name_lengthr  truncates_namesrc   r   	db_columnr  r  rG  r	   r  r   ry   r   r  rZ  )r   r  r4  allowed_lendb_aliasr   r   r  r   r  m2mrel_names   &&          r>   r  Model._check_long_column_names6	  s    I B--b66$RJ(nn<<>O&**=*=*M*M*M&"1K!H$2"1K!H   M''A #$%HH,[9${2LL 'X? O(	 (& --A!..00#66 ~~--33@@MM)%(ZZ/<H3MM  (h@!R !$,
 A .6 rB   c              #  X  "   \        V\        4      '       d   VP                   Fq  p\        V\        4      '       d@   Vw  r4\        VP	                  \
        4      4      x  V P                  V4       R j  xL
  KX  V P                  V4       R j  xL
  Ks  	  R # \        V\        4      '       d-   \        VP                  P	                  \
        4      4      x  R # \        VR4      '       d3   VP                  4        F  pV P                  V4       R j  xL
  K  	  R # R #  L L L5i)Nget_source_expressions)ry   r*   childrenr   r  r   r  r)   rQ   rZ   r   )r   exprchildlookupr[   src_exprs   &&    r>   r  Model._get_expr_references	  s     dAeU++$)MFZ 899"77>>>"77>>> ' a  		
344T344 77933H=== : 5 ?>
 >s7   A4D*6D$7D*D&BD*D(D*&D*(D*c                    . pV Fk  p\         P                  ! W04      '       g   K!  \        V,          pV P                  P                   F#  pVP                  VP                  W4      4       K%  	  Km  	  V# r   )r   r  r   rc   rO  r1  rR  )r   r  r4  r   r   rT  s   &&    r>   r  Model._check_constraints	  s`    B--b66$RJ!ii33
j..s?@ 4	  rB   )r  rd  r  r   )NNN)FFFNN)FNFFNN)NF)NTT)LrF   rG   rH   rI   r  classmethodr&  r?   rD   r3  r8  rB  r;  rR  rU  rY  r   r-  r6  ra  r|  r  r  r  alters_datar  r  r  r  r  r  r  r  r  r  r  r  r  r   r"  r&  r)  r8  r-  r.  r/  rd  r[  ry  r  r  r  rR  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   rK   r`   r   s   @@r>   r   r     s^    q2f 
 
<E!
1"$,.; 
+{	+B

R/h

,"D
 D
 	D

 D
 D
L D
 
 	

 
 
 E &DL !I-^EN%:N
34l	" F
 G
*(.,\M* B*H/b>
"@*(-*^*8 " "H 8 8t  ,  4 
 
     # #J  $ C CJ  2  .  (    :   L L\ j jX M M^ > >   rB   r   )	metaclassc                     VP                   P                  pVP                  V 4      pVP                  P	                  V4      P
                  ! R/ VB P                  \        V4       UUu. uF  w  rgV! WvR 7      NK  	  uppR.4       R# u uppi ))r-  r  r  Nr;   )rc   r   get_forward_related_filterr   rj  rl  bulk_update	enumerate)r=   ordered_objid_listrk  	order_wrtr  r  r-  s   &&&&    r>   method_set_orderr3  	  sx    !!77I66t<K""5)00?;?KK;DW;MN;Mie	);MN	
Ns   *B

c                     VP                   P                  pVP                  V 4      pVP                   P                  P                  pVP
                  P                  ! R/ VB P                  VR R7      # )T)flatr;   )rc   r   r-  r-  rQ   r   rl  values_list)r=   r0  r2  r  pk_names   &&   r>   method_get_orderr8  	  sd    !!77I66t<K""''G%%44@@t@TTrB   c                     \        VR V P                  P                  4       ,          \        \        V 4      4       \        VRV P                  P                  4       ,          \        \
        V 4      4       R# )zget_%s_orderzset_%s_orderN)r   rF   lowerr   r8  r3  )r   r  s   &&r>   r   r   	  sZ    --//&.
 --//&.rB   c                ~    \        V \        4      '       d   \        P                  ! V !  pMT pVP	                  V4      # )z7Used to unpickle Model subclasses with deferred fields.)ry   r   r   r  rx   )model_idr   s   & r>   r?  r?  	  s3    (E"") ==rB   Tr   )_r   rX   rN  collectionsr   	functoolsr   	itertoolsr   asgiref.syncr   r<  django.appsr   django.confr   django.corer	   django.core.exceptionsr
   r   r   r   r   r   r   r  r   r   r   r   r   r   django.db.modelsr   r   r   r   r   django.db.models.constantsr   django.db.models.deletionr   r   django.db.models.expressionsr    !django.db.models.fields.compositer!   django.db.models.fields.relatedr"   r#   r$   r%   django.db.models.functionsr&   django.db.models.managerr'   django.db.models.optionsr(   django.db.models.queryr)   r*   django.db.models.signalsr+   r,   r-   r.   r/   django.db.models.utilsr0   r1   django.utils.encodingr2   django.utils.hashabler3   django.utils.textr4   r5   django.utils.translationr6   rv  r8   r  rU   r\   rP   r^   r   r   r   r3  r8  r   r?  __safe_for_unpickle__r;   rB   r>   <module>rV     s       # #  &         W V 1 8 8 A  0 , , '  @ + / 5 6" " :$P
l) l)^ 	5 	5~J) ~P>U
$  (, $rB   