В модели DJANGO я использую инструмент FilterView, при отображении фильтра я не вижу форму класса META [закрыто].
Python-модель, в которой определены поля таблицы
from django.db import models
# Create your models here.
class Integrantes(models.Model):
nombre = models.CharField(max_length=50)
apellido = models.CharField(max_length=30)
codigo = models.CharField(max_length=20)
cargo = models.CharField(max_length=20)
Filter.py - здесь я определяю, какой фильтр применить
from django.contrib.auth.models import User
import django_filters
from apps.integrantes.models import Integrantes
class integrantesFilter(django_filters.FilterSet):
class Meta:
model = Integrantes
fields = ['nombre']
Вид фильтра - Использование инструмента FilterView
from django.shortcuts import render, redirect
from django.http import HttpResponse, request
from django.urls import reverse_lazy
from django.views.generic import ListView, CreateView, UpdateView, DeleteView
from django_filters.views import FilterView
from apps.integrantes.forms import IntegrantesForm
from apps.integrantes.models import Integrantes
from apps.integrantes.filters import integrantesFilter
# Create your views here.
class IntegrantesList(ListView):
model = Integrantes
template_name = 'integrantes/integrantes_list.html'
paginate_by = 10
class Integrantes1List(FilterView):
model = Integrantes
template_name = 'integrantes/integrantes_list.html'
filter_class = integrantesFilter
paginate_by = 10
Template HTML -> отображение, однако, я получаю все поля шаблона INTEGRANT и мне нужно отфильтровать только по 'name'
{% extends 'base/base.html' %}
{% block title %} ADM RTN {% endblock %}
{% block header %}
{% endblock %}
{% block content %}
<form action= "" method="get">
{{ filter.form.as_p }}
<input type="submit"/>
</form>
<table class="table table-bordered">
<thead>
<tr>
<td>#</td>
<td>NOMBRES</td>
<td>APELLIDOS</td>
<td>CODIGO</td>
<td>CARGO</td>
<!--<td>MODIFICAR</td> -->
</tr>
</thead>
<tbody>
{% if filter.qs %}
{% for integrantes in filter.qs %}
<tr>
<td>{{ integrantes.id }}</td>
<td>{{ integrantes.nombre }}</td>
<td>{{ integrantes.apellido }}</td>
<td>{{ integrantes.codigo }}</td>
<td>{{ integrantes.cargo }}</td>
<td>
<!-- <a class="btn btn-primary" href="{% url 'integrantes_editar' integrantes.id %}">Editar</a>
<a class="btn btn-danger" href="{% url 'integrantes_eliminar' integrantes.id %}">Eliminar</a>-->
</td>
</tr>
{% endfor %}
{% else %}
<h1>No hay registros de INTEGRANTES</h1>
{% endif %}
</tbody>
</table>
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item ">
{% if page_obj.has_previous %}
<a class="page-link" href="?page={{ page_obj.previous_page_number }}" tabindex="-1">Anterior</a>
{% endif %}
</li>
<li class="page-item ">
{% if page_obj.has_next %}
<a class="page-link" href="?page={{ page_obj.next_page_number }}">Siguiente</a>
{% endif %}
</li>
</ul>
</nav>
{% endblock%}
Окончательное отображение, я не получаю фильтр только из названия, пожалуйста, ваша поддержка о том, что я должен исправить.
Окончательный вид с фильтром<>
<>>>>