在Django的模型中,可以使用一些选项来定义模型字段的属性。其中之一是“unique”。如果将“unique”设置为“True”,则表中将只能存在一个唯一的值。但是,在某些情况下,我们需要在表中存在重复的值,如在“slug”列中。针对这种情况,我们可以使用“unique_together”选项来定义多列的联合唯一性。
示例:
class Post(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField()
author = models.ForeignKey(
User, on_delete=models.CASCADE, related_name='posts')
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
unique_together = ('author', 'slug',)
在这个例子中,我们将“unique_together”选项设置为一个元组,包含了“author”和“slug”列,这意味着同一个作者可以有相同的“slug”值,但每个作者之间“slug”值必须是唯一的。