-4

我正在根据“keyskill”从数据库中过滤数据。例如,我有以下技能

  1. 爪哇
  2. Python
  3. django
  4. html
  5. CSS

在我的搜索框中使用关键字“python”进行过滤时,与该关键字相关的数据是从 db 中获取的。但是当我在搜索框中使用关键字“python,Java”进行搜索时,没有获取任何详细信息。

如何使用两个关键字过滤数据库中的数据。

视图.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})

模型.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 ..etc..)在搜索框中输入为“Java”时,它显示了他们的详细信息,但在搜索框中输入为“java”时Html" 它不显示任何内容,所以我需要在这里显示 java 和 html 详细信息

4

1 回答 1

0

文件.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(你的意见.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')
于 2013-04-18T10:00:12.637 回答