Django:有没有办法在migrate中指定MySql索引的key_名称?

2024-04-29 09:55:58 发布

您现在位置:Python中文网/ 问答频道 /正文

有以下模型,您正在尝试设置index_together

class Event(models.Model):
    class Meta:
        ordering = ["-id"]
        index_together = ["user", "action"]

    action = models.IntegerField(db_index=True)
    user = models.ForeignKey("users.User", on_delete=models.CASCADE)
    post = models.ForeignKey("posts.Post", null=True, on_delete=models.CASCADE)

当执行python manage.py makemigrations时,将生成以下迁移文件

class Migration(migrations.Migration):

    dependencies = [
        ('users', '00xx_auto_yyyymmdd_hhmm'),
        ('events', '00xx_auto_yyyymmdd_hhmm'),
    ]

    operations = [
        migrations.AlterIndexTogether(
            name='event',
            index_together=set([('user', 'action')]),
        ),
    ]

SHOW INDEX FROM tbl_name;在MySQL中,分配索引。是否可以指定Key_name

我想使用Python代码中的ignore_indexuse_index,所以我想自己指定索引Key_name

有办法吗


Tags: nametrueindexonmodelsmigrationsactiondelete