File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ def __getitem__(self, key):
9393 return self ._connections [key ]
9494
9595 def all (self ):
96- return [self [alias ] for alias in self ._connections ]
96+ return [self [alias ] for alias in self .connections_info ]
9797
9898
9999class ConnectionRouter (object ):
@@ -133,6 +133,7 @@ def __init__(self):
133133 self .indexes = {}
134134 self .fields = SortedDict ()
135135 self ._built = False
136+ self ._indexes_setup = False
136137 self .excluded_indexes = getattr (settings , 'HAYSTACK_EXCLUDED_INDEXES' , [])
137138 self .document_field = getattr (settings , 'HAYSTACK_DOCUMENT_FIELD' , 'text' )
138139 self ._fieldnames = {}
@@ -250,10 +251,15 @@ def collect_fields(self, index):
250251 def setup_indexes (self ):
251252 if not self ._built :
252253 self .build ()
253-
254+
255+ if self ._indexes_setup :
256+ return
257+
254258 for model_ct , index in self .indexes .items ():
255259 index ._setup_save ()
256260 index ._setup_delete ()
261+
262+ self ._indexes_setup = True
257263
258264 def teardown_indexes (self ):
259265 if not self ._built :
@@ -262,6 +268,8 @@ def teardown_indexes(self):
262268 for model_ct , index in self .indexes .items ():
263269 index ._teardown_save ()
264270 index ._teardown_delete ()
271+
272+ self ._indexes_setup = False
265273
266274 def get_indexed_models (self ):
267275 if not self ._built :
Original file line number Diff line number Diff line change @@ -44,6 +44,9 @@ def test_discovery(self):
4444 connections ['default' ]._index = old_ui
4545
4646 def test_signal_setup_handling (self ):
47+ old_ui = connections ['default' ].get_unified_index ()
48+ connections ['default' ]._index = UnifiedIndex ()
49+ self .assertEqual (connections ['default' ].get_unified_index ()._indexes_setup , False )
4750 foo_1 = Foo .objects .create (
4851 title = 'chekin sigalz' ,
4952 body = 'stuff'
@@ -56,12 +59,15 @@ def test_signal_setup_handling(self):
5659 existing_foo = sqs .filter (id = 'discovery.foo.1' )[0 ]
5760 self .assertEqual (existing_foo .text , u'stuff' )
5861
62+ fi .clear ()
5963 foo_1 = Foo .objects .get (pk = 1 )
6064 foo_1 .title = 'Checking signals'
6165 foo_1 .body = 'Stuff.'
6266 # This save should trigger an update.
6367 foo_1 .save ()
68+ self .assertEqual (connections ['default' ].get_unified_index ()._indexes_setup , True )
6469
6570 sqs = SearchQuerySet ()
6671 new_foo = sqs .filter (id = 'discovery.foo.1' )[0 ]
6772 self .assertEqual (new_foo .text , u'Stuff.' )
73+ connections ['default' ]._index = old_ui
You can’t perform that action at this time.
0 commit comments