tutorial site para framework fra español python django django-models

site - framework django para python



Crear índice compuesto a partir de un modelo de Django (3)

A partir de Django-1.11 use la opción Meta.indexes https://docs.djangoproject.com/en/1.11/ref/models/indexes/ :

from django.db import models class PopulationData(models.Model): slot = models.IntegerField(db_index=True) sample = models.IntegerField() value = models.FloatField() class Meta: unique_together = ((''slot'', ''sample''),) indexes = [ models.Index(fields=[''slot'', ''sample'']), ]

Tengo el siguiente modelo:

from django.db import models class PopulationData(models.Model): slot = models.IntegerField(db_index=True) sample = models.IntegerField() value = models.FloatField() class Meta: unique_together = ((''slot'', ''sample''),)

Y me gustaría crear también un índice compuesto en el par de columnas que tienen la restricción UNIQUE , como así:

CREATE INDEX my_compound_index ON myapp_populationdata (slot, sample);

Ahora mismo tengo un código separado conectado a la señal post_syncdb que emite la declaración SQL anterior. ¿Hay alguna forma de indicarlo a partir de la especificación del modelo? (Nota: estoy usando la rama 1.3).



Creo que eso no está implementado actualmente en el ORM de django.

Si usa una herramienta de migración (como South) que podría ser un buen lugar para agregar esa declaración de SQL o si prefiere evitar el SQL sin formato, puede usar sqlalchemy (núcleo), pero este caso suena lo suficientemente simple como para ir con SQL.