【发布时间】:2011-10-02 09:24:01
【问题描述】:
当我查看包含 unique_together 语句的 models.py 的 sqlall 时,我没有注意到任何看起来像是强制执行的东西。
在我看来,我可以想象这些知识可能会帮助数据库优化查询,如下所示:
“我已经找到了包含垃圾邮件 42 和鸡蛋 91 的行,因此在搜索鸡蛋 91 时,我不再需要检查包含垃圾邮件 42 的行。”
这些知识对数据库有帮助吗?
我没有以这种方式强制执行它是对的吗(即它仅由 ORM 强制执行)?
如果两者都是,这是一个缺陷吗?
【问题讨论】:
-
文档说它是在数据库级别强制执行的,这就足够了吗? :)
-
嗯,你能链接吗?我看了看,但没看到。即使是这样,我也看不出在 sqlall 输出中的哪个位置发生了强制执行。
-
好的,所以文档确实这么说。但是什么声明强制执行它?
标签: django postgresql django-models django-orm django-database