mmr*_*151 8 django-models case-insensitive
我正在尝试实现名称所在的类别模型unique=True,但实际上我仍然可以添加具有不同情况的相同类别名称.
即我有一个名为食物的类别我仍然可以添加食物,食物,fOod,FOOd
他们背后的理念是什么?或者这是一项正在进行的工作.
在现实世界中,如果我想到分类食品,它将永远是食物,无论它曾经提到过它的情况.
提前谢谢你看看这个.
mmr*_*151 17
回答我自己的问题:
我发现我可以在我的模型上使用干净的方法.所以我补充道
class Category(models.Model):
name = models.CharField(max_length=200, unique=True)
def clean(self):
self.name = self.name.capitalize()
Run Code Online (Sandbox Code Playgroud)
它正在大写第一个字母,然后由save方法处理,该方法调用validate_unique方法来引发错误.
| 归档时间: |
|
| 查看次数: |
3525 次 |
| 最近记录: |