Поэтому я хочу создать ссылку на данную страницу с фильтрами, чтобы она отображала каждый элемент в таблице, прежде чем я нажму поиск, и прекращаю отображать элементы только при неправильном вводе.Моя проблема похожа на следующую проблему, с некоторыми отличиями. Пустой список результатов при запуске страницы фильтра django
Различия в поведении автора по умолчанию - это мое желаемое поведение, и я использую представления на основе классов, а не функциональные представления.
Мои URL:
from django.urls import path
from . import views
app_name = 'advising'
urlpatterns = [
path('', views.MyList.as_view(), name='MyList'),
]
мои просмотры:
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
from django.views import generic
from django.template import loader
from .models import *
from django_filters.views import FilterView
from .filter import *
class MyList(FilterView):
template_name = 'advising/MyList.html'
context_object_name = 'tables'
filterset_class = MyFilter
def get_queryset(self):
return Table.objects.order_by('Name')
мой фильтр:
import django_filters
from .models import Table
class MyFilter(django_filters.FilterSet):
Name = django_filters.CharFilter(lookup_expr='icontains')
class Meta:
model = Table #The table this form will reference
fields = ["Name"]
мой шаблон:
<form method="get">
{{ filter.form.as_p }}
<button type="submit">Search</button>
</form>
{% if tables %}
<ul>
{% for table in tables %}
<li>{{table}}</a></li>
{% endfor %}
</ul>
{% else %}
<p>Nothing to see here!.</p>
{% endif %}
Есть ли способ имитировать поведение при поиске пустой строки при первой загрузке страницы?
Чтобы быть очень конкретным, я хочу, чтобы URL-совет / выполнял то же поведение, что и URL-совет./? Имя =
Прямо сейчас советую / всегда выдает пустой список