gpt4 book ai didi

python - 基于代码的唯一约束 Django 模型

转载 作者:行者123 更新时间:2023-11-28 20:53:59 25 4
gpt4 key购买 nike

我有一个看起来像这样的 Django 模型:

class Categories(models.Model):
"""
Model for storing the categories
"""
name = models.CharField(max_length=8)
keywords = models.TextField()
spamwords = models.TextField()
translations = models.TextField()

def save(self, force_insert=False, force_update=False):
"""
Custom save method that converts the name to uppercase
"""
self.name = self.name.upper()
super(Categories, self).save(force_insert, force_update)

每当插入或更新数据时。我想检查是否不存在同名记录。这是一个独特的约束,我想通过代码而不是数据库来实现。此表中的数据量很小,因此性能影响不是问题。如果存在违反约束的情况,我想引发 Django 的内置约束异常之一,而不是创建自定义异常。

谁能教我最好/最快的方法来完成这个?

谢谢。

最佳答案

在您的模型定义中 you can tell Django that 'name' should be unique :

name = models.CharField(max_length=8, unique=True)

如果您尝试保存两个具有相同名称的记录,将引发 django.db.IntegrityError

关于python - 基于代码的唯一约束 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3194650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com