2013-04-18 47 views
-4

我正在根據「keyskill」過濾來自數據庫的數據。對於eample我有以下技能Django如何使用多個關鍵字篩選

  1. 的Java
  2. 蟒蛇
  3. Django的
  4. 的Html
  5. 的CSS

雖然在我的搜索框中鍵入關鍵字 「蟒蛇」 過濾與該關鍵字相關的數據從數據庫中獲取。但是當我在搜索框中搜索關鍵詞「python,Java」時,沒有任何細節被提取。

如何使用兩個關鍵字過濾來自數據庫的數據。

views.py

def search_result(request): 

    search = request.GET['skills'] 
    query = Q(key_skills__icontains=search) 
    details = jobs.objects.filter(query) 
    return render_to_response('registration/searchresult.html', {'details': details}) 

models.py

class jobs(models.Model): 
    title = models.CharField(max_length=30) 
    jobsummary = models.TextField() 
    jobdetails = models.TextField() 
    key_skills = models.CharField(max_length=30) 
    min_exp = models.IntegerField(default=0) 
    max_exp = models.IntegerField(default=0) 

例如在我的工作有表5條具有關鍵技能(1.java 2.Python 3 .Html ..等等)雖然在搜索框中輸入「Java」,但它顯示了他們的詳細信息,但在搜索框中輸入爲「java Html」時,它不顯示任何內容,所以我需要在這裏顯示這既說明Java和HTML細節

+3

你能粘貼您目前使用的代碼?另外,你的設置是什麼?什麼Django的版本,你使用Django的過濾器應用程序等?最後但並非最不重要的是,你在哪裏過濾這個?在面向用戶的表單中?在管理員? –

+0

我添加了代碼.. – Karthik

回答

0

file.html

$(document).keypress(function(event){ 
    var keycode = (event.keyCode ? event.keyCode : event.which); 
    if(keycode == '13'){ 
     var keyword = $("#id_search_field").val(); 
     if (keyword == 'SEARCH') { 
      keyword = ''; 
     } 
     if ((keyword != '')){ 
      window.location.href = "/search_view/?key=" + keyword 
     } 
     window.location.href = "/search_view/?keyword=" + keyword 



     } 
    }); 

    function keyword(){ 

     var keyword = $("#id_search_field").val(); 
     if (keyword == '{% trans "SEARCH" %}') { 
      keyword = ''; 
     } 
     if (keyword != ''){ 
      window.location.href = "/search_view/?key=" + keyword 
     } 
     window.location.href = "/search_view/?keyword=" + keyword 

    } 

    <body> 

    <input type="text" name="place" placeholder="SEARCH" id="id_search_field"/></div> 
    <div class="searc"> 
     <a href="#"><img src="/static/img/admin/search.png" alt="searchbox" onClick="keyword();"/></a> 
    </div> 
    {% for i in list %} 
     {{i.keyskill}} 
    {% endfor %} 

    </body> 

search_view(你views.py)

def search_view(request): 
    key = request.GET.get('keyword') 
    if key is not None: 
     key = key.lstrip() 
    if key : 
     list = Dbtablename.objects.filter(Q(keyskill__icontains = key)).order_by('-modified_at') 
    else: 
     list = Dbtablename.objects.filter().order_by('-modified_at')