相关文章推荐
苦闷的墨镜  ·  从DateTime转换为INT·  1 年前    · 
知识渊博的单车  ·  excel vba write array ...·  1 年前    · 

django unique constraint foreign key

在 Django 中,当您在模型中定义了一个外键字段,并希望它具有唯一性约束时,您可以使用 UniqueConstraint 来实现。

以下是一个示例模型,其中 book 模型包含了一个外键字段 author ,并定义了一个名为 unique_author_book 的唯一性约束,确保每个作者只能有一本同名书。

from django.db import models
class Author(models.Model):
    name = models.CharField(max_length=100)
class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    class Meta:
        constraints = [
            models.UniqueConstraint(fields=['title', 'author'], name='unique_author_book')

在这个模型中,UniqueConstraint 接受两个参数:fieldsnamefields 参数是一个包含需要唯一性约束的字段的列表,这里是 titleauthorname 参数是可选的,用于给约束命名。

需要注意的是,在 Django 中,unique_together 属性已经被弃用了,不推荐使用,而是使用 UniqueConstraint

希望这些信息对您有帮助!

  •