Tengo un campo de modelo de status que contiene una lista de prioridades que se le dan a la persona contactada, desde virgin hasta client , la virgin ha sido la prioridad baja y el client la prioridad alta, ahora la pregunta es cómo puedo filtrarlas para poder mostrarlas todas. contactos de mayor a menor, este es el orden que necesito para mostrarles client , qualified , contacted , virgin , este es el campo modelo
class LeadContact(models.Model): status = models.CharField(max_length=10, choices=LeadContactConstants.STATUSES, default=LeadContactConstants.STATUS_PRISTINE)y opciones:
class LeadContactConstants(object): STATUS_PRISTINE = "PRISTINE" STATUS_CONTACTED = "CONTACTED" STATUS_QUALIFIED = "QUALIFIED" STATUS_CLIENT = "CLIENT" STATUSES = ((STATUS_PRISTINE, "Virgin"), (STATUS_CONTACTED, "Contacted"), (STATUS_QUALIFIED, "Qualified"), (STATUS_CLIENT, "Client"))virgin_data = LeadContact.objects.filter(status=LeadContact.STATUS_PRISTINE) contacted_data = LeadContact.objects.filter(status=LeadContact.STATUS_CONTACTED) qualified_data = LeadContact.objects.filter(status=LeadContact.STATUS_QUALIFIED) client_data = LeadContact.objects.filter(status=LeadContact.STATUS_CLIENT) order_data = list(client_data) + list(qualified_data) + list(contacted_data) + list(virgin_data) # Now order_data contains your data in this specific order. Client - qualified - contacted - virginSi solo desea campos específicos sobre sus modelos, puede usar el método de lista_valores .