2015-12-21 39 views
0

當我在數據庫中添加新記錄時,它不會出現在自動完成結果中,直到我重新啓動python進程。我的註冊表看起來像這樣。Django自動完成燈不會返回結果,直到進程重新啓動

import autocomplete_light 

    from .models import Article 


    autocomplete_light.register(
     Article, 

     choices=Article.objects.published(), 

     search_fields=['title', '^id', ], 

     attrs={ 
      'placeholder': 'Search by Article Name', 
     }, 
     widget_attrs={ 
      'class': 'modern-style', 
     }, 
    ) 

選項選項是否被緩存?

回答

0

我最終爲註冊表使用了一個類,並設置了request_choices而不是上面的方法。

import autocomplete_light 

from apps.abstract.models import PUBLISHED 
from .models import Article 


class ArticleAutocomplete(autocomplete_light.AutocompleteModelBase): 
    attrs = { 
     'placeholder': 'Search by Article Title', 
    } 
    search_fields = ['title', '^id', ] 
    widget_attrs = { 
     'class': 'modern-style', 
    } 

    def choices_for_request(self): 
     """Returns published articles for the request""" 
     self.choices = self.choices.filter(status=PUBLISHED) 
     return super(ArticleAutocomplete, self).choices_for_request() 

autocomplete_light.register(Article, ArticleAutocomplete)