【发布时间】:2018-02-16 13:10:48
【问题描述】:
在我看来,当使用更复杂的unique_together 元组时,似乎会有很多处理或搜索。似乎更好的选择是在数据库中创建记录时严格处理唯一性。有谁碰巧知道使用unique_together 的成本是多少,尤其是当它们涉及更复杂的元组时?
我目前有一个可能需要转换的模型
index_together = unique_together = (('a', 'b'), ('a', 'c', 'd'))
到
index_together = unique_together = (('a', 'b', 'e'), ('a', 'c', 'd', 'e'))
【问题讨论】:
-
“严格处理唯一性”是什么意思?这不就是 unique_together 的作用吗?
-
我的意思是通过检查符合预期标准的记录来严格处理唯一性。如果
ModelName.objects.get(a=a, b=b, e=e)更新记录,否则创建新记录。当然,这种方法有一些明显的缺点,我可以看到最大的缺点是你需要确保在可以创建记录的任何地方都执行这种检查,它可能比unique_together
标签: mysql django database django-models