models.py
from django.db import models
from ckeditor.fields import RichTextField
#
from applications.departamento.models import Departamento
class Habilidades(models.Model):
hablidad = models.CharField('Habilidad', max_length=50)
class meta:
verbose_name = 'Habilidad'
verbose_name_plural = 'Habilidades Empleados'
def __str__(self):
return str(self.id) + '-' + self.hablidad
# Create your models here.
class Empleado(models.Model):
""" Modelo para tabla empleado """
JOB_CHOICES = (
('0', 'CONTADOR'),
('1', 'ADMINISTRADOR'),
('2', 'ECONOMISTA'),
('3', 'OTRO'),
)
first_name = models.CharField('Nombres', max_length=60)
last_name = models.CharField('apellidos', max_length=60)
full_name = models.CharField(
'Nombres completos',
max_length=120,
blank=True
)
job = models.CharField('Teabajo', max_length=1, choices=JOB_CHOICES)
departamento = models.ForeignKey(Departamento, on_delete=models.CASCADE)
avatar = models.ImageField(upload_to='empleado', blank=True, null=True)
habilidades = models.ManyToManyField(Habilidades)
hoja_vida=RichTextField()
class Meta:
verbose_name = 'Mi Empleado'
verbose_name_plural = 'Empleados de la empresa'
ordering = ['-first_name', 'last_name']
unique_together = ('first_name', 'departamento')
def __str__(self):
return str(self.id) + '-' + self.first_name + '-' + self.last_name
views.py
class ListEmpleadosByKword(ListView):
""" lista empelado por palabra clave """
template_name = 'persona/by_kword.html'
context_object_name = 'empelados'
def get_queryset(self):
print('********************')
palabra_clave = self.request.GET.get("kword", '')
lista = Empleado.objects.filter(
first_name=palabra_clave
)
return lista
urls.py
path(
'buscar-empleado/',
views.ListEmpleadosByKword.as_view(),
name='',
),
teplates/persona/by_kword.html
<h1>Buscar empleados por palabra clave</h1>
<form method="GET">{% csrf_token %}
<input type="text" id="kword" name="kword" placeholder="ingrese nombre aqui">
<button type="submit">Buscar</button>
</form>
<h3>Lista resultados</h3>
<ul>
{% for e in empelados %}
<li>{{e}}</li>
{% endfor %}
</ul>


Última modificación: 02 Jan 2023 19:02
No hay comentarios aún
Sé el primero en comentar este artículo