В Django, как мне создать унификации для 3 полей?

#python #mysql #database #django #django-models

#python #mysql #База данных #django #django-модели

Вопрос:

 class ExternalFriends(models.Model):
    external_user = models.ForeignKey(User)
    name = models.CharField(max_length=20, null=False, blank=False, db_index=True)
    external_account_id = models.CharField(max_length=200, null=True, blank=True, db_index=T
rue)
  

Итак, допустим, я хочу, чтобы все 3 поля были «unique_together». Как я могу это сделать?

Ответ №1:

Используйте опцию Meta unique_together . Для этого требуется кортеж (или кортежи), описывающий наборы столбцов, которые вместе следует считать уникальными.

Модель будет выглядеть следующим образом:

 class ExternalFriends(models.Model):
    # columns

    class Meta:
        unique_together = ('external_user', 'name', 'external_account_id'),
  

Комментарии:

1. Но как я могу выполнить ТРИ элемента? Я знаю, как сделать два.

2. Поместите три имени полей в кортеж.

3. Я думал, что кортежи — это только 2 вещи.

4. Кортежи — это неизменяемые последовательности переменной длины. docs.python.org/tutorial /…