Можно ли использовать поле, которое уже объявлено как уникальное, с другим полем и сделать ограничение уникальным вместе?[DJANGO CUSTOM USER MODEL].

Это моя модель

class User(AbstractUser):
    """User model."""

    username = None
    uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
    email = models.EmailField(_('email address'), unique=True)
    domain=models.CharField(max_length=100)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['email', 'domain'], name='unique_userID')
        ]

будет ли это работать, так как поле email уже уникально?

[W]ll this work as [the] email field is already unique?

Да, но это имеет бессмыслицу: поскольку email уже уникален, комбинация domain и email все равно всегда будет уникальной. Поэтому любая комбинация с полем email уникальна, и UniqueConstraint здесь, таким образом, не добавит никакого дополнительного ограничения.

Вернуться на верх