Как создать индекс unique_together с помощью функции Uniqueconstraints в django? - PullRequest
1 голос
/ 17 апреля 2020

официальный документ гласит: UniqueConstraint предоставляет больше функциональности, чем unique_to вместе. unique_together может устареть в будущем. вот мой код

class Meta:
    constraints = [models.UniqueConstraint(fields=['token','obj'], name='hello')]

, когда я выполняю миграцию, он создает миграцию с сообщением «- Создайте ограничение привет на модели helloWorld». но это не создание индекса для базы данных.

1 Ответ

2 голосов
/ 17 апреля 2020

Индексация выполняется с помощью другой опции Meta: indexes [Django -doc] :

class MyModel(models.Model):

    # …

    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['token','obj'], name='hello')
        ]
        <b>indexes</b> = [
            models.Index(fields=('token', 'obj'), condition='TRUE'),
        ]

Идея состоит в том, что уникальный вместе не означает, что вы хотите индексировать два (вместе) Кроме того, вы можете указать, для каких условий вы хотите индексировать поля, указав condition=&hellip; параметр [Django -doc] .

Для получения дополнительной информации см. Справочник по моделям [Django -doc] .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...