o
    h                     @   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      | j S Nr
   self r   Z/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/test/search/models.py__str__      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)blankbooks)related_nametitleg       @boostsummaryauthorspublication_datenumber_of_pagestagsr
   slugc                    sR   t   }| tu r!|jtjjdddd}|jtjjdddd}|jdd}|S )Nbook_ptr_idT)flat)id__inzDon't index me!r"   )superget_indexed_objectsr   excludeNovelobjectsvalues_listProgrammingGuide)clsindexed_objects	__class__r   r   r0   0   s   
zBook.get_indexed_objectsc                 C   s4   t jj| jd }tjj| jd }|p|p| S )N)r+   )r2   r3   filteridfirstr5   )r   novelprogramming_guider   r   r   get_indexed_instanceC   s   zBook.get_indexed_instancec                 C   r   r   r.   r   r   r   r   r   K   r   zBook.__str__)r   r   r   r   r   r"   	TextFieldr%   ManyToManyFieldr   r&   r   r'   IntegerFieldr(   r   r)   r   r   r   r   RelatedFieldsr   classmethodr0   r?   r   __classcell__r   r   r8   r   r      s6    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   r2   
characters)r!   	on_deletec                 C   r   r   r   r   r   r   r   r   U   r   zCharacter.__str__N)
r   r   r   r   r   r
   
ForeignKeyCASCADEr=   r   r   r   r   r   rF   O   s    rF   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 )r2   r   r   +T)r!   r	   rH   settingrG   r
   g      ?r#   protagonistg      ?r=   N)r   r   r   r   r   rL   OneToOneFieldrF   SET_NULLrM   r   r   r   r   r   rC   r   r   r   r   r   r2   Y   s*    

r2   c                   @   s8   e Zd Zejdg ddZeje	de
dg ZdS )r5   r   ))pyPython)js
JavaScript)rsRust)r   choices get_programming_language_displayprogramming_languageN)r   r   r   r   r   rX   r   r   r   r   r   r   r   r   r   r5   s   s    	
r5   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'   rB   r(   r   r)   r   r   r   r   r   rY      s    rY   N)	django.dbr   taggit.managersr   wagtail.searchr   IndexedModelr   r   rF   r2   r5   rY   r   r   r   r   <module>   s    :
