Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/12/2015, 17:20
Avatar de dianacaro
dianacaro
 
Fecha de Ingreso: agosto-2015
Ubicación: Cali Colombia
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Mensaje Manejo de tablas grandes con django - postgresql

Tengo una tabla de enfermedades que tiene solo 3 columnas:

Código SQL:
Ver original
  1. El id automático.
  2.     Un código VARCHAR(10).
  3.     El nombre string.

Pero, tiene 14197 registros.

El problema es que su llave primaria (Primary Key) es llave foránea para otros modelos, pero está demorando mucho en cargarla.

Uso django y PostgreSql, ¿qué es lo más recomendable para que no se demore tanto la carga de esa Foreign Key en el template?

#modelos

Código Python:
Ver original
  1. class Cie10(models.Model):
  2.         codigo = models.CharField(max_length=10)
  3.         nombre = models.TextField()
  4.         def __unicode__(self):
  5.             return (u"%s (%s)"%(self.nombre, self.codigo)).strip() or "-"
  6.  
  7.     class EnfermedadGeneral(Enfermedad):
  8.         dias = models.IntegerField(validators=[no_negativo])
  9.         cie10 = models.ForeignKey(Cie10, verbose_name="diagnóstico Cie10")
  10.         soportes = models.FileField(upload_to=crear_ruta_archivo_enfermedad_general, blank=True, null=True)

#Ejemplo de Form

Código Python:
Ver original
  1. class EnfermedadGeneralForm(forms.ModelForm):
  2.         class Meta: model = EnfermedadGeneral
  3.         exclude = ('responsable', 'persona', 'sucursal', 'area', 'cargo', 'tipo_empleado', 'fecha_ingreso', 'fecha_diligenciamiento',)
  4.         widgets = {
  5.             'fecha' : MyDateWidget(),
  6.             'municipio': Select2Widget(),
  7.             'cie10': Select2Widget(),
  8.             'soportes' : MyFileInput(), }

#Formulario en el template

Código HTML:
Ver original
  1. <form class="form-vertical" enctype="multipart/form-data" method="post">{% csrf_token %}
  2.         {% bootstrap_form form layout="horizontal" %}
  3.         <button class="btn btn-lg btn-primary pull-right" type="submit" onclick="$('#id_dia_semana').attr('disabled', false);">
  4.             Registrar <i class="fa fa-check"></i>
  5.         </button>
  6.     </form>

Última edición por razpeitia; 20/12/2015 a las 13:32