Форма поиска Django, которую я не могу заставить работать - PullRequest
0 голосов
/ 26 октября 2010

Здравствуйте. Я недавно работал над поисковыми формами 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 ]

1 голос
/ 26 октября 2010

Может быть потому, что вы ищете по компании, адресу и почтовому индексу, а не по имени клиента?

0 голосов
/ 26 октября 2010

Ок, похоже, как-то все работает правильно. Странно то, что я не знаю, как все заработало. Возможно, я перезапустил сервер во время внесения изменений или это был мой файл urls.py. Я действительно не знаю, но, кажется, теперь хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...