Dato il seguente modello, voglio indicizzare i campi (sequenza, fotografia)Django: creare indice: non univoco, a più colonne
class QuoteModel(models.Model):
quotedate = models.DateField()
high = models.FloatField() #(9,2) DEFAULT NULL,
low = models.FloatField() #(9,2) DEFAULT NULL,
close = models.FloatField() #(9,2) DEFAULT NULL,
closeadj = models.FloatField() #(9,2) DEFAULT NULL,
volume = models.IntegerField() #(9,2) DEFAULT NULL,
stock = models.IntegerField(db_index=True) #(9,2) DEFAULT NULL,
open = models.FloatField() #(9,2) DEFAULT NULL,
sequence = models.IntegerField() #(9,2) DEFAULT NULL,
Tale indice dovrebbe essere non univoco - in mysql dovrebbe essere qualcosa di simile:
create index ndx_1 on model_quotemodel(sequence,stock);
L'unica soluzione Django che conosco è la creazione di un file "SQL" che verrà eseguito da Django al momento della creazione della tabella. Così, ho creato un "stockmodel.sql" che contiene la seguente query (come sopra :)
create index ndx_1 on model_quotemodel(sequence,stock);
C'è un modo "pulito" di farlo?
Non sono sicuro se questa risposta si rivolge veramente chiavi composte chiave non primarie? Non sembra. –
Questo non è affatto ciò che la domanda sta cercando. bisogno di chiavi composite non univoche, non primarie. – Fydo
Non penso che i commenti sopra siano rilevanti per la risposta attuale ... sembra dai documenti che 'index_together' _does_ fornisce indice composito non univoco, non primario – Anentropic