a
    Dg                     @   s   d dl mZ d dlmZ d dlmZ G dd dejejZG dd dejejZ	G dd	 d	ejZ
G d
d de	ZG dd de	ZG dd dejejZdS )    )models)TaggableManager)indexc                   @   sH   e Zd ZejddZejddZe	de
dedgZdd Zd	S )
Author   
max_lengthT)nullnamedate_of_birthc                 C   s   | j S Nr
   self r   Y/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/test/search/models.py__str__   s    zAuthor.__str__N)__name__
__module____qualname__r   	CharFieldr
   	DateFieldr   r   SearchFieldAutocompleteFieldFilterFieldsearch_fieldsr   r   r   r   r   r      s   r   c                       s   e Zd ZejddZejddZeje	ddZ
e Ze Ze Zejddd	ed
edededede	jedededededgedg
Ze fddZdd Zdd Z  ZS )Bookr   r   T)ZblankZbooks)related_nametitleg       @Zboostsummaryauthorspublication_datenumber_of_pagestagsr
   Zslugc                    sR   t   }| tu rB|jtjjdddd}|jtjjdddd}|jdd}|S )Nbook_ptr_idT)Zflat)Zid__inzDon't index me!r   )superget_indexed_objectsr   excludeNovelobjectsZvalues_listProgrammingGuide)clsZindexed_objects	__class__r   r   r(   0   s    
zBook.get_indexed_objectsc                 C   s4   t jj| jd }tjj| jd }|p2|p2| S )N)r%   )r*   r+   filteridfirstr,   )r   novelZprogramming_guider   r   r   get_indexed_instanceC   s    zBook.get_indexed_instancec                 C   s   | j S r   r&   r   r   r   r   r   K   s    zBook.__str__)r   r   r   r   r   r   Z	TextFieldr    ZManyToManyFieldr   r!   r   r"   IntegerFieldr#   r   r$   r   r   r   r   RelatedFieldsr   classmethodr(   r4   r   __classcell__r   r   r.   r   r      s4   r   c                   @   s2   e Zd ZejddZejddejdZdd Z	dS )		Characterr   r   r*   
characters)r   	on_deletec                 C   s   | j S r   r   r   r   r   r   r   U   s    zCharacter.__str__N)
r   r   r   r   r   r
   Z
ForeignKeyZCASCADEr3   r   r   r   r   r   r9   O   s
   r9   c                   @   s   e Zd ZejddZejeddejdZ	e
jedededejdd	d
gedejddd
edgedg ZdS )r*   r   r   +T)r   r	   r;   settingr:   r
   g      ?r   protagonistg      ?r3   N)r   r   r   r   r   r=   ZOneToOneFieldr9   ZSET_NULLr>   r   r   r   r   r   r6   r   r   r   r   r   r*   Y   s(   
r*   c                   @   s8   e Zd Zejdg ddZeje	de
dg ZdS )r,   r   ))pyPython)ZjsZ
JavaScript)rsZRust)r   choicesZ get_programming_language_displayprogramming_languageN)r   r   r   r   r   rC   r   r   r   r   r   r   r   r   r   r,   s   s   	r,   c                   @   s2   e Zd ZejddZe Ze Z	e
 Zg ZdS )UnindexedBookr   r   N)r   r   r   r   r   r   r   r"   r5   r#   r   r$   r   r   r   r   r   rD      s
   rD   N)Z	django.dbr   Ztaggit.managersr   Zwagtail.searchr   ZIndexedZModelr   r   r9   r*   r,   rD   r   r   r   r   <module>   s   :
