В Django, как сделать уникальные на 3 полях? - PullRequest
0 голосов
/ 26 апреля 2011
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 Ответ

2 голосов
/ 26 апреля 2011

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

Модель будет выглядеть так:

class ExternalFriends(models.Model):
    # columns

    class Meta:
        unique_together = ('external_user', 'name', 'external_account_id'),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...