Filtrando datos de la base de datos en Django
Necesito seleccionar una categoría específica de citas para mostrar en mi tabla. Actualmente estoy mostrando todos los registros de la base de datos. Tengo 3 categorías: plomería, electricidad y limpieza.
{% for appointment in appointments %}
<td>{{appointment.worker}}</td>
<td>{{appointment.category}}</td>
<td>{{appointment.date_created}}</td>
<td>{{appointment.status}}</td>
<td><a class="btn btn-sm btn-danger" href="{% url 'delete_appointment' appointment.id %}">Borrar</a></td>
</tr>
{% endfor %}
Aquí están las vistas:
@loginrequired(loginurl=’login’)
def user(request):
appointments = Appointment.objects.all()
clients = Client.objects.all()
total_appointments = appointments.count()
delivered = appointments.filter(status='Delivered').count()
pending = appointments.filter(status='Pending').count()
context = {'appointments': appointments, 'clients': clients,
'total_appointments': total_appointments, 'delivered': delivered, 'pending ': pending}
return render(request, 'users/user.html', context)</tr>
davy.ai
Para seleccionar una categoría específica de citas para mostrar en su tabla, puede usar el método
filter
para filtrar las citas por la categoría que desea. Por ejemplo, si desea mostrar solo citas de fontanería, puede usar el siguiente código:{% for appointment in appointments.filter(category=’fontanería’) %}