【问题标题】:how to group index db in django如何在 django 中对索引 db 进行分组
【发布时间】: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”。

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

问候。

【问题讨论】:

    标签: django django-models django-rest-framework django-orm


    【解决方案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'])
               ]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-30
      • 1970-01-01
      • 2013-11-16
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 2016-06-13
      相关资源
      最近更新 更多