首页 > 解决方案 > django模型用户为first_name,last_name创建索引

问题描述

settings.AUTH_USER_MODEL用作默认用户模型

我想创建索引

public.auth_user.first_name
public.auth_user.last_name

有什么优雅的方法来创建这个索引吗?

标签: djangodjango-models

解决方案


有点丑但仍然优雅的方式:创建原始 SQL 迁移女巫创建索引。

第一的

pip3 install django-migrate-sql-deux

然后

import migrate_sql.operations

from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('my_app', '0094_last_migration_name')
    ]
    operations = [
        migrate_sql.operations.CreateSQL(
            name='auth_user_first_name_idx',
            sql='create index auth_user_first_name_idx on auth_user (first_name)',
            reverse_sql='drop index auth_user_first_name_idx',
        ),
        migrate_sql.operations.CreateSQL(
            name='auth_user_last_name_idx',
            sql='create index auth_user_last_name_idx on auth_user (last_name)',
            reverse_sql='drop index auth_user_last_name_idx',
        ),
    ]

推荐阅读