在 Django 中,如何在 3 个字段上创建唯一值?

TIM*_*MEX 0 python mysql database django django-models

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)
Run Code Online (Sandbox Code Playgroud)

所以假设我希望所有 3 个字段都是“unique_together”。我怎样才能做到这一点?

Ign*_*ams 5

使用元选项unique_together。这需要一个元组(或多个元组)来描述应该被视为唯一的列集。

该模型将如下所示:

class ExternalFriends(models.Model):
    # columns

    class Meta:
        unique_together = ('external_user', 'name', 'external_account_id'),
Run Code Online (Sandbox Code Playgroud)

  • 元组是可变长度的、不可变的序列。http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences (3认同)