在Django中,如何设置3个字段的唯一性?
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)
假设我想让这三个字段一起是“唯一的”。我该怎么做呢?
1 个回答
8
使用Meta选项中的 unique_together
。这个选项可以接收一个元组(或者多个元组),用来描述哪些列组合在一起应该被视为唯一。
模型看起来会是这样的:
class ExternalFriends(models.Model):
# columns
class Meta:
unique_together = ('external_user', 'name', 'external_account_id'),