managers.py
from django.db.models import Q
class AutorManager(models.Manager):
""" managers para el modelo autor"""
def buscar_autor3(self,kword):
resultado = self.filter(
nombre__icontains=kword
).exclude(
Q(edad__icontains=35) | Q(edad__icontains=65)
)
return resultado
views.py
class ListarAutores(ListView):
context_object_name='lista_autores'
template_name='autor/lista.html'
def get_queryset(self):
palabra_clave=self.request.GET.get('kword','')
return Autor.objects.buscar_autor3(palabra_clave)
urls.py
path(
'autores',
views.ListarAutores.as_view(),
name="autores"
),
templates/autor/lista.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>lista de autores</h1>
<p>
<form method="GET">{% csrf_token %}
<input type="text" id="kword" name="kword" placeholder="ingrese nombre">
<button type="submit">Consultar</button>
</form>
</p>
{% for a in lista_autores %}
<li>
{{a.nombre}} -{{a.apellidos}} - {{a.nacionalidad}} -{{a.edad}}
</li>
{% endfor %}
</body>
</html>
Última modificación: 10 Jan 2023 01:03
No hay comentarios aún
Sé el primero en comentar este artículo