File tree Expand file tree Collapse file tree 11 files changed +104
-0
lines changed
src/django_elasticsearch_dsl_drf/tests Expand file tree Collapse file tree 11 files changed +104
-0
lines changed Original file line number Diff line number Diff line change 99from .books_order import *
1010from .books_orderline import *
1111from .books_publisher import *
12+ from .books_tag import *
Original file line number Diff line number Diff line change 44from .city import CityDocument
55from .publisher import PublisherDocument
66from .location import LocationDocument
7+ from .tag import TagDocument
78
89__all___ = (
910 'AddressDocument' ,
1011 'AuthorDocument' ,
1112 'BookDocument' ,
1213 'CityDocument' ,
1314 'PublisherDocument' ,
15+ 'TagDocument' ,
1416)
Original file line number Diff line number Diff line change 1+ from django .conf import settings
2+ from django_elasticsearch_dsl import Document , Index , fields
3+
4+ from books .models import Tag
5+ from .analyzers import html_strip
6+
7+
8+ __all__ = ('TagDocument' ,)
9+
10+ INDEX = Index (settings .ELASTICSEARCH_INDEX_NAMES [__name__ ])
11+
12+ INDEX .settings (
13+ number_of_shards = 1 ,
14+ number_of_replicas = 1 ,
15+ blocks = {'read_only_allow_delete' : None }
16+ )
17+
18+
19+ @INDEX .doc_type
20+ class TagDocument (Document ):
21+ """Elasticsearch document for a Tag."""
22+
23+ # Set unique title as the document id.
24+ id = fields .KeywordField (attr = 'title' )
25+ title = fields .KeywordField ()
26+
27+ class Django (object ):
28+ """Django Elasticsearch DSL ORM Meta."""
29+
30+ model = Tag
31+
32+ class Meta (object ):
33+ """Meta options."""
34+
35+ parellel_indexing = True
Original file line number Diff line number Diff line change 1010 PublisherDocumentSerializer ,
1111 PublisherDocumentSimpleSerializer ,
1212)
13+ from .tag import TagDocumentSerializer
1314
1415__all__ = (
1516 'AddressDocumentSerializer' ,
2122 'LocationDocumentSerializer' ,
2223 'PublisherDocumentSerializer' ,
2324 'PublisherDocumentSimpleSerializer' ,
25+ 'TagDocumentSerializer' ,
2426)
Original file line number Diff line number Diff line change 1+ from django_elasticsearch_dsl_drf .serializers import DocumentSerializer
2+
3+ from ..documents import TagDocument
4+
5+
6+ __all__ = ('TagDocumentSerializer' ,)
7+
8+
9+ class TagDocumentSerializer (DocumentSerializer ):
10+ """Serializer for a Tag document."""
11+
12+ class Meta (object ):
13+ """Meta options."""
14+
15+ document = TagDocument
16+ fields = (
17+ 'id' ,
18+ 'title' ,
19+ )
Original file line number Diff line number Diff line change 2626 LocationDocumentViewSet ,
2727 PublisherDocumentViewSet ,
2828 FrontAddressDocumentViewSet ,
29+ TagDocumentViewSet ,
2930)
3031
3132__all__ = ('urlpatterns' ,)
203204 basename = 'publisherdocument'
204205)
205206
207+ # *********************************************************
208+ # ************************* Tags **************************
209+ # *********************************************************
210+
211+ router .register (
212+ r'tags' ,
213+ TagDocumentViewSet ,
214+ basename = 'tagdocument'
215+ )
216+
206217# **********************************************************
207218# ********************** URL patterns **********************
208219# **********************************************************
Original file line number Diff line number Diff line change 2323from .city import CityDocumentViewSet , CityCompoundSearchBackendDocumentViewSet
2424from .location import LocationDocumentViewSet
2525from .publisher import PublisherDocumentViewSet
26+ from .tag import TagDocumentViewSet
2627
2728__all__ = (
2829 'AddressDocumentViewSet' ,
5051 'LocationDocumentViewSet' ,
5152 'PublisherDocumentViewSet' ,
5253 'FrontAddressDocumentViewSet' ,
54+ 'TagDocumentViewSet' ,
5355)
Original file line number Diff line number Diff line change 1+ from django_elasticsearch_dsl_drf .pagination import LimitOffsetPagination
2+ from django_elasticsearch_dsl_drf .viewsets import DocumentViewSet
3+
4+ from ..documents import TagDocument
5+ from ..serializers import TagDocumentSerializer
6+
7+ __all__ = (
8+ 'TagDocumentViewSet' ,
9+ )
10+
11+
12+ class TagDocumentViewSet (DocumentViewSet ):
13+ """Document viewset for tags."""
14+
15+ document = TagDocument
16+ serializer_class = TagDocumentSerializer
17+ lookup_field = 'title'
18+ filter_backends = []
19+ pagination_class = LimitOffsetPagination
Original file line number Diff line number Diff line change 279279 'search_indexes.documents.address' : 'address' ,
280280 'search_indexes.documents.author' : 'author' ,
281281 'search_indexes.documents.book' : 'book' ,
282+ 'search_indexes.documents.tag' : 'tag' ,
282283 'search_indexes.documents.city' : 'city' ,
283284 'search_indexes.documents.publisher' : 'publisher' ,
284285 'search_indexes.documents.location' : 'location' ,
Original file line number Diff line number Diff line change 1717 'search_indexes.documents.address' : 'test_address' ,
1818 'search_indexes.documents.author' : 'test_author' ,
1919 'search_indexes.documents.book' : 'test_book' ,
20+ 'search_indexes.documents.tag' : 'test_tag' ,
2021 'search_indexes.documents.city' : 'test_city' ,
2122 'search_indexes.documents.publisher' : 'test_publisher' ,
2223 'search_indexes.documents.location' : 'test_location' ,
You can’t perform that action at this time.
0 commit comments