a
    xd]H                     @   s&  d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ dd	lmZ dd
lmZmZmZ ejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZ G dd dej!Z"G dd  d ejZ#G d!d" d"ejZ$G d#d$ d$ejZ%G d%d& d&ejZ&ee& G d'd( d(ejZ'G d)d* d*eZ(ee'e(d+ G d,d- d-ejZ)G d.d/ d/e)Z*G d0d1 d1ejZ+G d2d3 d3ejZ,e-ed4d5 G d6d7 d7ejZ.e/ed4 G d8d9 d9ejZ0G d:d; d;e0Z1G d<d= d=eZ2G d>d? d?ejZ3G d@dA dAejZ4G dBdC dCejZ5G dDdE dEe5Z6G dFdG dGejZ7G dHdI dIejZ8G dJdK dKejZ9G dLdM dMe9Z:G dNdO dOe:Z;G dPdQ dQejZ<G dRdS dSe<Z=G dTdU dUe<Z>ee>e<gdV G dWdX dXejZ?G dYdZ dZejZ@eed[d\d] G d^d_ d_ejZAG d`da daejZBeeBdbd\d] G dcdd ddejZCG dedf dfejZDG dgdh dhejZEG didj djejZFG dkdl dlejZGG dmdn dnejZHG dodp dpejZIG dqdr drejZJG dsdt dtejZKG dudv dvejZLG dwdx dxejZMG dydz dzejZNG d{d| d|ejZOG d}d~ d~ejZPeePdd G dd dejZQG dd dejZRG dd dejZSG dd dejZTG dd dejZUG dd dejZVG dd dejZWG dd dejZXG dd dejZYG dd deZZG dd deZ[G dd deUZ\G dd deXZ]G dd deUeYZ^G dd deUZ_G dd de_Z`G dd deUZaG dd deaZbG dd deUZcG dd dejZdG dd dedZeG dd dejZfG dd dejZgdd ZhG dd dejZieeiefehd dd ZjG dd dejZkeekefejd G dd dejZlG dd dejZmeemejnejodd e-edd5 G dd dejZpe/ed e-edd5 G ddÄ dejZqe/ed G ddń dejZrG ddǄ dejZsG ddɄ dejZtG dd˄ dejZuG dd̈́ dejZvG ddτ dejZwG ddф dewZxG ddӄ deZyG ddՄ deZzG ddׄ dejZ{ee{ddٍ G ddۄ dejZ|G dd݄ dejZ}G dd߄ dejZ~G dd dejZG dd dejZG dd dejZdS )    N)apps)settings)models)reverse)register)HistoricalRecords   )
CustomUser)AbstractExternalAbstractExternal2AbstractExternal3c                   @   s0   e Zd ZejddZedZe Z	dd Z
dS )Poll   
max_lengthdate publishedc                 C   s   t dd| jidS Nzpoll-detailpkkwargsr   r   self r   S/var/www/html/Ranjet/env/lib/python3.9/site-packages/simple_history/tests/models.pyget_absolute_url   s    zPoll.get_absolute_urlN)__name__
__module____qualname__r   	CharFieldquestionDateTimeFieldpub_dater   historyr   r   r   r   r   r      s   
r   c                   @   s*   e Zd ZejdddZedZe Z	dS )PollWithUniqueQuestionr   Tr   uniquer   N)
r   r   r   r   r   r    r!   r"   r   r#   r   r   r   r   r$      s   
r$   c                   @   s:   e Zd ZejddZedZejddZ	e
dgdZdS )	PollWithExcludeFieldsr   r   r   Tnullr"   Zexcluded_fieldsN)r   r   r   r   r   r    r!   r"   	TextFieldplacer   r#   r   r   r   r   r'   #   s   
r'   c                   @   sf   e Zd ZejddZedZeje	
ddddZejddZejd	dZe Zeg d
dZdS )"PollWithExcludedFieldsWithDefaultsr   r   r   i     defaultTr(   r   )r"   expiration_timer,   min_questionsmax_questionsr*   N)r   r   r   r   r   r    r!   r"   	DateFielddatetimedater1   r+   r,   ZPositiveIntegerFieldr2   r3   r   r#   r   r   r   r   r-   +   s   
r-   c                   @   s>   e Zd ZejddZedZejdej	dZ
edgdZdS )	PollWithExcludedFKFieldr   r   r   Place	on_deleter,   r*   N)r   r   r   r   r   r    r!   r"   
ForeignKeyCASCADEr,   r   r#   r   r   r   r   r7   >   s   
r7   c                       s   e Zd Z fddZ  ZS )AlternativePollManagerc                    s   t t|  jddS )Nr   )id)superr=   get_querysetexcluder   	__class__r   r   r@   G   s    z#AlternativePollManager.get_queryset)r   r   r   r@   __classcell__r   r   rB   r   r=   F   s   r=   c                   @   s6   e Zd Ze Ze ZejddZ	e
dZe ZdS )PollWithAlternativeManagerr   r   r   N)r   r   r   r=   Zsome_objectsr   ManagerZall_objectsr   r    r!   r"   r   r#   r   r   r   r   rE   K   s
   
rE   c                   @   s"   e Zd Ze ZG dd dZdS )IPAddressHistoricalModelc                   @   s   e Zd ZdZdS )zIPAddressHistoricalModel.MetaTNr   r   r   Zabstractr   r   r   r   MetaX   s   rI   N)r   r   r   r   ZGenericIPAddressField
ip_addressrI   r   r   r   r   rG   U   s   rG   c                   @   s6   e Zd ZejddZedZee	gdZ
dd ZdS )PollWithHistoricalIPAddressr   r   r   basesc                 C   s   t dd| jidS r   r   r   r   r   r   r   b   s    z,PollWithHistoricalIPAddress.get_absolute_urlN)r   r   r   r   r   r    r!   r"   r   rG   r#   r   r   r   r   r   rK   \   s   
rK   c                       s4   e Zd Z fddZ fddZ fddZ  ZS )CustomAttrNameForeignKeyc                    s(   | dd | _tt| j|i | d S N	attr_name)poprP   r?   rN   __init__r   argsr   rB   r   r   rR   g   s    z!CustomAttrNameForeignKey.__init__c                    s   | j ptt|  S N)rP   r?   rN   get_attnamer   rB   r   r   rV   k   s    z$CustomAttrNameForeignKey.get_attnamec                    s2   t t|  \}}}}| jr&| j|d< ||||fS rO   )r?   rN   deconstructrP   )r   namepathrT   r   rB   r   r   rW   n   s    
z$CustomAttrNameForeignKey.deconstruct)r   r   r   rR   rV   rW   rD   r   r   rB   r   rN   f   s   rN   c                   @   s"   e Zd ZeeejddZe Z	dS )ModelWithCustomAttrForeignKeyZcustom_poll)rP   N)
r   r   r   rN   r   r   r<   pollr   r#   r   r   r   r   rZ   u   s   rZ   c                   @   sD   e Zd ZejddZe Ze Z	dZ
edd Zejdd ZdS )Temperaturer   r   Nc                 C   s   | j S rU   _Temperature__history_dater   r   r   r   _history_date   s    zTemperature._history_datec                 C   s
   || _ d S rU   r]   r   valuer   r   r   r_      s    )r   r   r   r   r   locationIntegerFieldZtemperaturer   r#   r^   propertyr_   setterr   r   r   r   r\   z   s   
r\   c                   @   s>   e Zd ZejddZe Ze Z	e
ddZedd ZdS )
WaterLevelr   r   T)Zcascade_delete_historyc                 C   s   | j S rU   )r6   r   r   r   r   r_      s    zWaterLevel._history_dateN)r   r   r   r   r   Zwatersrc   levelr!   r6   r   r#   rd   r_   r   r   r   r   rf      s   
rf   c                   @   s0   e Zd ZejeejdZejddZ	e
 ZdS )Choicer9   r   r   N)r   r   r   r   r;   r   r<   r[   r   choicerc   Zvotesr   r   r   r   rh      s   rh   c                   @   s6   e Zd ZejeejdZejeejddZ	dd Z
dS )Voterr9   Zvotersr:   related_namec                 C   s   dS )NzVoter objectr   r   r   r   r   __str__   s    zVoter.__str__N)r   r   r   r   r;   Userr<   userrh   ri   rm   r   r   r   r   rj      s   rj   c                       s   e Zd Z fddZ  ZS )HistoricalRecordsVerbosec                    s&   dd }t t| ||}||d< |S )Nc                 S   s   d| j | j| jf S )Nz%s changed by %s as of %s)Zhistory_objectZhistory_userZhistory_dater   r   r   r   verbose_str   s
    z>HistoricalRecordsVerbose.get_extra_fields.<locals>.verbose_strrm   )r?   rp   get_extra_fields)r   modelfieldsrq   Zextra_fieldsrB   r   r   rr      s    
z)HistoricalRecordsVerbose.get_extra_fields)r   r   r   rr   rD   r   r   rB   r   rp      s   rp   )Zrecords_classc                   @   s   e Zd ZejddZdS )r8   d   r   Nr   r   r   r   r   rX   r   r   r   r   r8      s   r8   c                   @   s   e Zd Ze Ze ZdS )
RestaurantN)r   r   r   r   rc   Zratingr   Zupdatesr   r   r   r   rw      s   rw   c                       s.   e Zd ZejddZe Z fddZ  Z	S )Personru   r   c                    s.   t | drtdntt| j|i | d S )NZskip_history_when_savingzerror while saving)hasattrRuntimeErrorr?   rx   saverS   rB   r   r   r{      s    

zPerson.save)
r   r   r   r   r   rX   r   r#   r{   rD   r   r   rB   r   rx      s   rx   c                   @   s*   e Zd ZejddZejddZe Z	dS )	FileModelru   r   filesZ	upload_toN
r   r   r   r   r   titleZ	FileFieldfiler   r#   r   r   r   r   r|      s   r|   Z%SIMPLE_HISTORY_FILEFIELD_TO_CHARFIELDTc                   @   s*   e Zd ZejddZejddZe Z	dS )CharFieldFileModelru   r   r}   r~   Nr   r   r   r   r   r      s   r   c                   @   s2   e Zd ZejeejdddZe Z	e
dd ZdS )DocumentTr:   r)   Zblankc                 C   s$   z| j W S  tjy   Y d S 0 d S rU   )
changed_byrn   ZDoesNotExistr   r   r   r   _history_user   s    zDocument._history_userN)r   r   r   r   r;   rn   r<   r   r   r#   rd   r   r   r   r   r   r      s   
r   c                   @   s"   e Zd Ze Zejjdd ZdS )Paperc                 C   s
   || _ d S rU   r   r`   r   r   r   r      s    zPaper._history_userN)r   r   r   r   r#   r   r   re   r   r   r   r   r      s   r   c                   @   s   e Zd Ze ZdS )ProfileN)r   r   r   r   r4   Zdate_of_birthr   r   r   r   r      s   r   c                   @   s   e Zd ZejeejdZdS )AdminProfiler9   N)r   r   r   r   r;   r   r<   Zprofiler   r   r   r   r      s   r   c                   @   s$   e Zd ZejdejddZe ZdS )StateLibraryTr:   r)   N)	r   r   r   r   r;   r<   Zlibraryr   r#   r   r   r   r   r     s   r   c                   @   s$   e Zd ZejdddZeddZdS )Book   T)r   primary_keyz
dead trees)verbose_nameN)r   r   r   r   r   Zisbnr   r#   r   r   r   r   r     s   r   c                   @   s   e Zd Ze ZdS )HardbackBookN)r   r   r   r   Z
FloatFieldZpricer   r   r   r   r     s   r   c                   @   s   e Zd ZejeejdZdS )Bookcaser9   N)r   r   r   r   r;   r   r<   Zbooksr   r   r   r   r     s   r   c                   @   s2   e Zd ZejeejddZe Z	G dd dZ
dS )r   Tr   c                   @   s   e Zd ZdZdS )zLibrary.Metazquiet pleaseNr   r   r   r   r   r   r   r   rI     s   rI   N)r   r   r   r   r;   r   r<   Zbookr   r#   rI   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )	BaseModelNr   r   r   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )FirstLevelInheritedModelNr   r   r   r   r   r      s   r   c                   @   s   e Zd ZdS )SecondLevelInheritedModelNr   r   r   r   r   r   $  s   r   c                   @   s   e Zd ZG dd dZdS )AbstractBasec                   @   s   e Zd ZdZdS )zAbstractBase.MetaTNrH   r   r   r   r   rI   )  s   rI   Nr   r   r   rI   r   r   r   r   r   (  s   r   c                   @   s   e Zd ZeegdZdS )ConcreteAttrrL   N)r   r   r   r   r   r#   r   r   r   r   r   -  s   r   c                   @   s   e Zd ZdS )ConcreteUtilNr   r   r   r   r   r   1  s   r   rL   c                   @   s   e Zd ZejeejdZdS )MultiOneToOner9   N)r   r   r   r   r;   r   r<   fkr   r   r   r   r   8  s   r   c                   @   s$   e Zd ZejdejddZe ZdS )SelfFKr   Tr   N)	r   r   r   r   r;   r<   r   r   r#   r   r   r   r   r   <  s   r   zsimple_history.testsZ	histories)appZmanager_namec                   @   s,   e Zd ZejddZe ZG dd dZdS )ExternalModelWithAppLabelru   r   c                   @   s   e Zd ZdZdS )zExternalModelWithAppLabel.MetaexternalNr   r   r   Z	app_labelr   r   r   r   rI   H  s   rI   N	r   r   r   r   r   rX   r   r#   rI   r   r   r   r   r   D  s   r   c                   @   s   e Zd ZejddZdS )"ExternalModelSpecifiedWithAppParamru   r   Nrv   r   r   r   r   r   L  s   r   zsimple_history.tests.externalc                   @   s,   e Zd ZejddZe ZG dd dZdS )UnicodeVerboseNameru   r   c                   @   s   e Zd ZdZdS )zUnicodeVerboseName.Metau   國Nr   r   r   r   r   rI   [  s   rI   Nr   r   r   r   r   r   W  s   r   c                   @   s"   e Zd ZejeejdZe Z	dS )CustomFKErrorr9   N)
r   r   r   r   r;   r   r<   r   r   r#   r   r   r   r   r   _  s   r   c                   @   s(   e Zd ZdZejddZejddZdS )Seriesz+A series of works, like a trilogy of books.ru   r   N)r   r   r   __doc__r   r   rX   authorr   r   r   r   r   d  s   r   c                   @   s>   e Zd ZejdejddZejddZe	 Z
G dd dZdS )	
SeriesWorkr   Zworksrk   ru   r   c                   @   s   e Zd ZdZdS )zSeriesWork.MetaseriesN)r   r   r   Zorder_with_respect_tor   r   r   r   rI   p  s   rI   N)r   r   r   r   r;   r<   r   r   r   r   r#   rI   r   r   r   r   r   k  s   r   c                   @   s$   e Zd ZejeejddZe Z	dS )PollInfoT)r:   r   N)
r   r   r   r   OneToOneFieldr   r<   r[   r   r#   r   r   r   r   r   t  s   r   c                   @   s   e Zd ZdS )UserAccessorDefaultNr   r   r   r   r   r   y  s   r   c                   @   s   e Zd ZdS )UserAccessorOverrideNr   r   r   r   r   r   }  s   r   c                   @   s$   e Zd Zejd dejdZe ZdS )EmployeeT)r)   r:   N)	r   r   r   r   r   r<   managerr   r#   r   r   r   r   r     s   r   c                   @   s   e Zd ZejdddZdS )Countryr   Tr%   N)r   r   r   r   r   coder   r   r   r   r     s   r   c                   @   s$   e Zd ZejeejddZe Z	dS )Provincer   )r:   Zto_fieldN
r   r   r   r   r;   r   r<   Zcountryr   r#   r   r   r   r   r     s   r   c                   @   s$   e Zd ZejeejddZe Z	dS )CityZcountryCode)r:   Z	db_columnNr   r   r   r   r   r     s   r   c                   @   s4   e Zd ZejddZe Zdd ZG dd dZ	dS )Planet   r   c                 C   s   | j S rU   )starr   r   r   r   rm     s    zPlanet.__str__c                   @   s   e Zd ZdZdS )zPlanet.Metar   Nr   r   r   r   r   rI     s   rI   N)
r   r   r   r   r   r   r   r#   rm   rI   r   r   r   r   r     s   r   c                   @   s0   e Zd ZejddZejdddZeddZ	dS )	Contactr   r      Tr%   Zcontacts_historyZ
table_nameN)
r   r   r   r   r   rX   
EmailFieldemailr   r#   r   r   r   r   r     s   r   c                   @   s&   e Zd ZejddZejdddZdS )ContactRegisterr   r   r   Tr%   N)r   r   r   r   r   rX   r   r   r   r   r   r   r     s   r   Zcontacts_register_historyr   c                   @   s"   e Zd ZejddZeddZdS )ModelWithHistoryInDifferentAppr   r   r   )r   Nr   r   r   r   r   rX   r   r#   r   r   r   r   r     s   r   c                   @   s   e Zd ZejddZe ZdS )ModelWithHistoryInDifferentDbr   r   Nr   r   r   r   r   r     s   r   c                   @   s"   e Zd ZejddZeddZdS ) ModelWithHistoryUsingBaseModelDbr   r   TZuse_base_model_dbNr   r   r   r   r   r     s   r   c                   @   s(   e Zd ZejeejddZeddZ	dS )-ModelWithFkToModelWithHistoryUsingBaseModelDbTr   r   N)
r   r   r   r   r;   r   r<   r   r   r#   r   r   r   r   r     s   r   c                   @   s$   e Zd ZeddZG dd dZdS )TrackedAbstractBaseATinheritc                   @   s   e Zd ZdZdS )zTrackedAbstractBaseA.MetaTNrH   r   r   r   r   rI     s   rI   Nr   r   r   r   r#   rI   r   r   r   r   r     s   
r   c                   @   s$   e Zd ZeddZG dd dZdS )TrackedAbstractBaseBTr   c                   @   s   e Zd ZdZdS )zTrackedAbstractBaseB.MetaTNrH   r   r   r   r   rI     s   rI   N)r   r   r   r   Z	history_brI   r   r   r   r   r     s   
r   c                   @   s   e Zd ZG dd dZdS )UntrackedAbstractBasec                   @   s   e Zd ZdZdS )zUntrackedAbstractBase.MetaTNrH   r   r   r   r   rI     s   rI   Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZeddZdS )TrackedConcreteBaseTr   N)r   r   r   r   r#   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )UntrackedConcreteBaseNr   r   r   r   r   r     s   r   c                   @   s&   e Zd ZejddZG dd dZdS )ConcreteExternal2   r   c                   @   s   e Zd ZdZdS )zConcreteExternal.MetatestsNr   r   r   r   r   rI     s   rI   Nr   r   r   r   r   rX   rI   r   r   r   r   r     s   r   c                   @   s&   e Zd ZejddZG dd dZdS )ConcreteExternal2r   r   c                   @   s   e Zd ZdS )zConcreteExternal2.MetaNr   r   r   r   r   rI     s   rI   Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )TrackedWithAbstractBaseNr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )TrackedWithConcreteBaseNr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )InheritTracking1Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )BaseInheritTracking2Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )InheritTracking2Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )BaseInheritTracking3Nr   r   r   r   r   r   	  s   r   c                   @   s   e Zd ZdS )InheritTracking3Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )InheritTracking4Nr   r   r   r   r   r     s   r   c                   @   s"   e Zd ZejddZeddZdS )	BasePlacer   r   Tr   Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZejddZdS )InheritedRestaurantFr/   N)r   r   r   r   ZBooleanFieldZserves_hot_dogsr   r   r   r   r     s   r   c                   @   s*   e Zd ZejddZejedejdZ	dS )BucketMemberr   r   bucket_member)rl   r:   N)
r   r   r   r   r   rX   r   rn   r<   ro   r   r   r   r   r     s   r   c                   @   s6   e Zd ZejeejdddZeedZ	e
dd ZdS )
BucketDataTr   )
user_modelc                 C   s   | j S rU   r   r   r   r   r   r   +  s    zBucketData._history_userN)r   r   r   r   r;   r   SET_NULLr   r   r#   rd   r   r   r   r   r   r   %  s   

r   c                 K   s"   z| j W S  ty   Y d S 0 d S rU   )r   AttributeError)instancer   r   r   r   get_bucket_member_changed_by0  s    r   c                   @   s    e Zd ZejeejdddZdS )BucketDataRegisterChangedByTr   N)r   r   r   r   r;   r   r   r   r   r   r   r   r   7  s   
r   )r   Zget_userc                 K   s$   z
| j jW S  ty   Y d S 0 d S rU   )ro   r   r   )requestr   r   r   r   get_bucket_member_request_userD  s    
r   c                   @   s    e Zd ZejddZdd ZdS )BucketDataRegisterRequestUserr   r   c                 C   s   t dd| jidS )Nzbucket_data-detailr   r   r   r   r   r   r   r   N  s    z.BucketDataRegisterRequestUser.get_absolute_urlN)r   r   r   r   r   datar   r   r   r   r   r   K  s   r   c                   @   s2   e Zd ZejdejddZeejejddZ	dS )	UUIDModelTFr   r0   editabler/   Zhistory_id_fieldN
r   r   r   r   	UUIDFielduuiduuid4r>   r   r#   r   r   r   r   r   Y  s   r   c                   @   s   e Zd ZejdejddZdS )UUIDRegisterModelTFr   N)r   r   r   r   r   r   r   r>   r   r   r   r   r   ^  s   r   r/   r   Z"SIMPLE_HISTORY_HISTORY_ID_USE_UUIDc                   @   s$   e Zd ZejdejddZe Z	dS )UUIDDefaultModelTFr   Nr   r   r   r   r   r   h  s   r   Z3SIMPLE_HISTORY_HISTORY_CHANGE_REASON_USE_TEXT_FIELDc                   @   s   e Zd ZejddZe ZdS )!DefaultTextFieldChangeReasonModelru   r   Nr   r   r   r   r   greetingr   r#   r   r   r   r   r   t  s   r   c                   @   s*   e Zd ZejddZeejdddZdS )UserTextFieldChangeReasonModelru   r   Tr(   )Zhistory_change_reason_fieldN)	r   r   r   r   r   r   r   r+   r#   r   r   r   r   r   }  s   r   c                   @   s   e Zd ZejddZe ZdS )CharFieldChangeReasonModelru   r   Nr   r   r   r   r   r     s   r   c                   @   s   e Zd ZejddZe ZdS )CustomManagerNameModelr   r   Nr   r   r   r   r   rX   r   logr   r   r   r   r     s   r   c                   @   s$   e Zd ZejdddZeddZdS )OverrideModelNameAsStringr   Tr%   ZMyHistoricalCustomNameModelcustom_model_nameNr   r   r   r   r   r     s   r   c                   @   s(   e Zd ZejdddZedd dZdS )OverrideModelNameAsCallabler   Tr%   c                 C   s
   d | S NzAudit{}formatxr   r   r   <lambda>      z$OverrideModelNameAsCallable.<lambda>r   Nr   r   r   r   r   r     s   r   c                   @   s*   e Zd Zeddd dZG dd dZdS )AbstractModelCallable1Tc                 C   s
   d | S r  r  r  r   r   r   r    r  zAbstractModelCallable1.<lambda>)r   r   c                   @   s   e Zd ZdZdS )zAbstractModelCallable1.MetaTNrH   r   r   r   r   rI     s   rI   Nr   r   r   r   r   r    s   r  c                   @   s   e Zd ZejdddZdS ) OverrideModelNameUsingBaseModel1r   Tr%   Nrv   r   r   r   r   r	    s   r	  c                   @   s   e Zd ZejdddZdS )$OverrideModelNameUsingExternalModel1r   Tr%   Nrv   r   r   r   r   r
    s   r
  c                   @   s   e Zd ZejdddZdS )$OverrideModelNameUsingExternalModel2r   Tr%   Nrv   r   r   r   r   r    s   r  c                   @   s   e Zd ZejdddZdS ) OverrideModelNameRegisterMethod1r   Tr%   Nrv   r   r   r   r   r    s   r  Z"MyOverrideModelNameRegisterMethod1r   c                   @   s   e Zd ZejdddZdS ) OverrideModelNameRegisterMethod2r   Tr%   Nrv   r   r   r   r   r    s   r  c                   @   s:   e Zd Zejd ddejdZejdddejdZe Z	dS )ForeignKeyToSelfModelT+)r)   rl   r:   r   N)
r   r   r   r   r;   r<   Z
fk_to_selfZfk_to_self_using_strr   r#   r   r   r   r   r    s   

r  c                   @   s"   e Zd ZejddZeddZdS )Street   r   r#   )rl   Nr   r   r   r   r   r    s   r  c                   @   s   e Zd ZejdddZdS )ManyToManyModelOtherr   Tr%   Nrv   r   r   r   r   r    s   r  c                   @   s*   e Zd ZejdddZeeZe	 Z
dS )BulkCreateManyToManyModelr   Tr%   Nr   r   r   r   r   rX   ZManyToManyFieldr  otherr   r#   r   r   r   r   r    s   
r  c                   @   s0   e Zd ZejdddZeeZe	dgdZ
dS )ModelWithExcludedManyToManyr   Tr%   r  r*   Nr  r   r   r   r   r    s   
r  )r5   r   Zdjango.appsr   Zdjango.confr   Z	django.dbr   Zdjango.urlsr   Zsimple_historyr   Zsimple_history.modelsr   Zcustom_user.modelsr	   rn   Zexternal.modelsr
   r   r   Z	get_modelZModelr   r$   r'   r-   r7   rF   r=   rE   rG   rK   r;   rN   rZ   r\   rf   rh   rj   rp   r8   rw   rx   r|   setattrr   delattrr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r
  r  r  r  r  r  r  r  r  r   r   r   r   <module>   s  



	


	
