如何在 Django 中对索引数据库进行分组

how to group index db in django

我在模型文件中创建索引时遇到问题,我需要这样的分组索引 (dt_cot, dt_cri) 和另一个组索引 (id_inv) table,我的代码如下:

class ModelTable(models.Model):
     name = models.CharField(max_length=30)
     
     class Meta:
           indexes01 = [models.Index(fields=['dt_cot', 'dt_cri'])]
           indexes02 = [models.Index(fields=['id_inv'])]

问题是当我执行 'makemigrations' 时,错误显示:“TypeError: 'class Meta' got invalid attribute(s): indexes01, indexes02”。

请问如何对索引进行分组。

问候。

indexes [Django-doc] 是一个包含 Index 个对象的 list,所以:

class ModelTable(models.Model):
     name = models.CharField(max_length=30)
     
     class Meta:
           <b>indexes = [</b>
               models.Index(fields=['dt_cot', 'dt_cri']),
               models.Index(fields=['id_inv'])
           <b>]</b>

对于 单个 字段上的索引,但是,您可以使用 db_index=… parameter [Django-doc],例如:

class ModelTable(models.Model):
     name = models.CharField(max_length=30)
     id_inv = models.CharField(max_length=30<b>, db_index=True</b>)
     
     class Meta:
           indexes = [
               models.Index(fields=['dt_cot', 'dt_cri'])
           ]