Учитывая следующую модель, я хочу индексировать поля (последовательность, запас)
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,
Этот индекс должен быть неединственным - в mysql это должно быть что-то вроде:
create index ndx_1 on model_quotemodel(sequence,stock);
Единственное обходное решение Django, о котором я знаю, это создание файла sql, который будет выполняться django при создании таблицы. Итак, я создал файл "stockmodel.sql", содержащий следующий запрос (тот же, что и выше:)
create index ndx_1 on model_quotemodel(sequence,stock);
Есть ли какой-нибудь "более чистый" способ сделать это?