在Django中,如何设置3个字段的唯一性?

1 投票
1 回答
2457 浏览
提问于 2025-04-16 16:24
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'),

撰写回答