Mri*_*lla 2 python django django-models
我有一个看起来像这样的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)
Run Code Online (Sandbox Code Playgroud)
每当插入或更新数据时。我想检查一下是否存在同名记录。这是我要通过代码而不是数据库来实现的唯一约束。该表中的数据量很小,因此性能命中率不是问题。如果存在约束违例,我想提出Django的内置约束例外之一,而不是创建自定义例外。
有人能以我最好/最快的方式做到这一点吗?
谢谢。
在模型定义中,您可以告诉Django'name'应该是唯一的:
name = models.CharField(max_length=8, unique=True)
Run Code Online (Sandbox Code Playgroud)
django.db.IntegrityError如果您尝试保存两个具有相同名称的记录,则会引发A。
| 归档时间: |
|
| 查看次数: |
5987 次 |
| 最近记录: |