

IntegerField ( attr = 'id' ) title = fields. settings ( number_of_shards = 1, number_of_replicas = 1 ) html_strip = analyzer ( 'html_strip', tokenizer = "standard", filter =, char_filter = ) class BookDocument ( DocType ): """Book Elasticsearch document.""" id = fields. ELASTICSEARCH_INDEX_NAMES ) # See Elasticsearch Indices API reference for available settings INDEX. dumps ()įrom nf import settings from django_elasticsearch_dsl import DocType, Index, fields from elasticsearch_dsl import analyzer from books.models import Book # Name of the Elasticsearch index INDEX = Index ( settings. name def tags_indexing ( self ): """Tags for indexing. title def publisher_indexing ( self ): """Publisher for indexing. ManyToManyField ( 'books.Tag', related_name = 'books', blank = True ) class Meta ( object ): """Meta options.""" ordering = def _str_ ( self ): return self.

PositiveIntegerField ( default = 30 ) tags = models. PositiveIntegerField ( default = 200 ) stock_count = models. DecimalField ( max_digits = 10, decimal_places = 2 ) pages = models. CharField ( max_length = 100, unique = True ) price = models. CharField ( max_length = 100, choices = BOOK_PUBLISHING_STATUS_CHOICES, default = BOOK_PUBLISHING_STATUS_DEFAULT ) isbn = models. ForeignKey ( Publisher, related_name = 'books' ) publication_date = models. ManyToManyField ( 'books.Author', related_name = 'books' ) publisher = models. TextField ( null = True, blank = True ) authors = models. TextField ( null = True, blank = True ) summary = models.

CharField ( max_length = 100 ) description = models. CharField ( max_length = 255, unique = True ) class Meta ( object ): """Meta options.""" verbose_name = _ ( "Tag" ) verbose_name_plural = _ ( "Tags" ) def _str_ ( self ): return self. Model ): """Simple tag model.""" title = models. ImageField ( upload_to = 'authors', null = True, blank = True ) class Meta ( object ): """Meta options.""" ordering = def _str_ ( self ): return self. CharField ( max_length = 200 ) email = models. CharField ( max_length = 10 ) name = models. Model ): """Author.""" salutation = models. URLField () class Meta ( object ): """Meta options.""" ordering = def _str_ ( self ): return self. CharField ( max_length = 50 ) website = models. CharField ( max_length = 30 ) country = models. CharField ( max_length = 60 ) state_province = models. CharField ( max_length = 50 ) city = models. TextField ( null = True, blank = True ) address = models. CharField ( max_length = 30 ) info = models. Import json from nf import settings from django.db import models from import ugettext, ugettext_lazy as _ from six import python_2_unicode_compatible BOOK_PUBLISHING_STATUS_PUBLISHED = 'published' BOOK_PUBLISHING_STATUS_NOT_PUBLISHED = 'not_published' BOOK_PUBLISHING_STATUS_IN_PROGRESS = 'in_progress' BOOK_PUBLISHING_STATUS_CANCELLED = 'cancelled' BOOK_PUBLISHING_STATUS_REJECTED = 'rejected' BOOK_PUBLISHING_STATUS_CHOICES = ( ( BOOK_PUBLISHING_STATUS_PUBLISHED, "Published" ), ( BOOK_PUBLISHING_STATUS_NOT_PUBLISHED, "Not published" ), ( BOOK_PUBLISHING_STATUS_IN_PROGRESS, "In progress" ), ( BOOK_PUBLISHING_STATUS_CANCELLED, "Cancelled" ), ( BOOK_PUBLISHING_STATUS_REJECTED, "Rejected" ), ) BOOK_PUBLISHING_STATUS_DEFAULT = BOOK_PUBLISHING_STATUS_PUBLISHED class Publisher ( models.
