【发布时间】:2015-07-09 08:43:44
【问题描述】:
Peewee 的 select with a limit(1) 和 get AFAIK 有什么区别,它们都执行相同的查询,但是当它没有找到查询结果时会引发异常,哪个更好用,为什么?我可能错过的性能观点、逻辑观点或编码标准有什么不同吗?
【问题讨论】:
Peewee 的 select with a limit(1) 和 get AFAIK 有什么区别,它们都执行相同的查询,但是当它没有找到查询结果时会引发异常,哪个更好用,为什么?我可能错过的性能观点、逻辑观点或编码标准有什么不同吗?
【问题讨论】:
真的不是很多。 .get() API 允许您有效地检索单个记录,如果未找到记录则引发异常。如果改为调用.select().limit(1),您仍然需要对结果集进行索引,或者推进结果迭代器以获取 obj。
基本上,.get() 是选择限制 1 的简写,然后抓取该行(如果存在),如果找不到匹配项,则引发特殊异常类型。
【讨论】: