python - 为什么在使用 create() 时不强制执行 unique=True?
问题描述
我有一个具有独特字符域的模型:
class EmailTemplate(models.Model):
name = models.CharField('Name',
max_length=255,
help_text=_("e.g: 'welcome_email'"),
unique=True)
当我name
在 Django 的管理界面中创建 2 个相同的模型时,我得到了预期的错误:Email Template with this Name already exists.
.
但是,如果我以编程方式执行此操作,我不会:
>>> EmailTemplate.objects.create(name='test_1')
<EmailTemplate: test_1 >
>>> EmailTemplate.objects.create(name='test_1')
<EmailTemplate: test_1 >
我错过了什么?我以为unique
是数据库级别的约束?
解决方案
推荐阅读
- python-3.x - 我在语音助手中收到断言错误消息
- html - 在没有 tff 的情况下更改我的网站的字体系列
- python - Django Rest 框架,违反非空约束 DETAIL
- python - 在 Python3 中更新二维列表时的奇怪行为
- sccm - 如何修复 sccm 中的不合规客户端?
- reactjs - 如何修复 Material-UI Select w/MenuItem,其中 MenuItem 水平呈现?
- amazon-dynamodb - DynamoDB/Boto3 -- RecursionError: 调用 Python 对象时超出最大递归深度
- django - Django 和 python 文件在哪里?
- momentjs - 将 moment.js 对象发送到服务器但收到 Bad request(400) 错误
- java - 需要帮助 Java IntelliJ 不读取我的文件