一个Django搜索表单,我无法使其工作

时间:2010-10-26 11:05:00

标签: django search django-templates django-views

你好我最近一直在研究Django搜索表单,并且厌倦了自己编辑。这是一个应该找到客户的搜索表单。但是,当我键入客户端名称时,它不会显示该客户端的名称。所以我想知道我做错了什么。

    #model.py
    class Client(models.Model):
        company = models.CharField(max_length=80)
        first_name = models.CharField(max_length=80, blank=True, null=True)
        last_name = models.CharField(max_length=80, blank=True, null=True)
        address = models.CharField(max_length=250)
        city = models.CharField(max_length=100)
        country = models.CharField(max_length=120)
        postcode = models.CharField(max_length=7)
        telephone = models.CharField(max_length=20)
        email = models.EmailField()
        additional_info = models.TextField(blank=True, null=True)

        def __unicode__(self):
                return self.company
#views.py
@login_required
def search_client(request):
    query = request.GET.get('q', '')
    if query:
        qset = (
        Q(company__icontains=query) |
        Q(address__icontains=query) |
        Q(postcode__icontains=query)
        )
        results = Client.objects.filter(qset).distinct()
    else:
        results = []
    return render_to_response("search_clients.html", {
        "results": results,
        "query": query
}, context_instance=RequestContext(request))


    #search_clients
{% extends "base.html" %}  

    {% block content %}
    <h1>Search</h1>
      <form action="." method="GET">
        <label for="q">Search: </label>
        <input type="text" name="q" value="{{ query|escape }}">
        <input type="submit" value="Search">
      </form>

      {% if query %}
        <h2>Results for "{{ query|escape }}":</h2>

        {% if results %}
          <ul>
          {% for clients in results %}
            <li>{{ clients|escape }}</l1>
          {% endfor %}
          </ul>
        {% else %}
          <p>No clients found</p>
        {% endif %}
      {% endif %}
    {% endblock %}

2 个答案:

答案 0 :(得分:1)

可能是因为您按公司,地址和邮政编码搜索,而不是按客户名称搜索?

答案 1 :(得分:-1)

好吧看起来好像它知道正常工作。奇怪的是我不知道它是如何开始正常工作的。我可能在进行更改时重新启动了服务器,或者可能是我的urls.py文件。我真的不知道,但现在看来还不错。