2014-03-29 170 views
-1

我一直在谷歌搜索小時,但一直沒能找到任何東西。我相當新的Django,並想知道如何完成以下內容Django高級搜索功能

即時通訊尋找在頁面上實現一個搜索過濾查詢返回的記錄類似於eBay的做法。 (見鏈接下來左手邊)

Link to eBay to show desired search functionality

能有人我在正確的方向或者告訴我需要尋找到實現這樣的功能。

+1

您有過濾器的表單,您提交的窗體並且所有過濾器都作爲GET參數發送到相同的頁面。您使用參數進行分析和查詢並返回結果。這裏有什麼麻煩? –

回答

0

使用get_search_results(新在Django 1.6)

class PersonAdmin(admin.ModelAdmin): 
    list_display = ('name', 'age') 
    search_fields = ('name',) 

    def get_search_results(self, request, queryset, search_term): 
     queryset, use_distinct = super(PersonAdmin, self).get_search_results(request, queryset, search_term) 
     try: 
      search_term_as_int = int(search_term) 
      queryset |= self.model.objects.filter(age=search_term_as_int) 
     except: 
      pass 
     return queryset, use_distinct 

search_term是你的輸入,並query_set是結果,你需要改變query_set