如何在 django 中对索引 db 进行分组

Posted

技术标签:

【中文标题】如何在 django 中对索引 db 进行分组【英文标题】:how to group index db in django 【发布时间】:2020-11-05 12:19:21 【问题描述】:

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

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): index01, index02”。

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

问候。

【问题讨论】:

【参考方案1】:

indexes [Django-doc] 是Index 对象的列表,所以:

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

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

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

【讨论】:

以上是关于如何在 django 中对索引 db 进行分组的主要内容,如果未能解决你的问题,请参考以下文章

Django:如何在 Postgresql 中对日语(多字节字符串)进行全文搜索

使用ajax jquery在html中对db中的相同数据进行分组

如何在每个循环中对 Json 对象进行分组

如何在 StarUML 中对箭头进行分组/概括?

如何在 PostgreSQL 中对列的一部分进行分组?

如何在熊猫 DataFrame 中对连续值进行分组