Поисковая фильтрация из других моделей абзацев django - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь сделать свой первый сайт, у меня нет навыков в python или программировании. Моя форма поиска работает при наборе слов, которые извлекаются из описания models.py (я представляю), но я хочу добавить другое отдельное описание под названием «пробел» и отобразить искомый текст так же, как в модели описания, которую я пробовал код нескольких комбинаций. Это мой текущий код.

views.py:

 from .models import Property

        def search(request):
            queryset_list = Property.objects.order_by('title')

            #I imagine the following codes can also be cleaner, and/or could be the cause of the problem
            # Keywords description
            if 'keywords' in request.GET:
              keywords = request.GET['keywords']
              if keywords:
                queryset_list = queryset_list.filter(description__icontains=keywords)

            # space description
            if 'keywords' in request.GET:
              keywords = request.GET['keywords']
              if keywords:
                queryset_list = queryset_list.filter(the_space__icontains=keywords)

В models.py:

    from django.db import models
    from datetime import datetime

    class Property(models.Model):
          description = models.TextField(blank=True)
          the_space = models.TextField(blank=True)

  def __str__(self):
    return self.title

В моем html:

    <form action="{% url 'search' %}">
          <label class="sr-only">Keywords</label>
        <input type="text" name="keywords" class="form-control" placeholder="Keyword (Pool, Garage, etc)" value="{{ values.keywords }}">

Я также пробовал:

 # Keywords description
 if 'the_space' in request.GET:
   the_space = request.GET['the_space']
    if the_space:
     queryset_list = queryset_list.filter(the_space__icontains=the_space)

Также вместо иконок я пробовал «искать» и «содержать». Добавление имени "the_space" в html.

При поиске определенного c слова, которое есть в моделях и базе данных the_space, я не получаю никаких результатов.

...