【发布时间】:2015-04-24 18:00:39
【问题描述】:
我在使用时遇到了这个奇怪的问题
Model.objects.get(op1=1,op2=2)
尽管存在,但它会引发不存在错误。有没有人发生过这种情况?
我什至检查了我的日志,以确保当 id 已经存在于数据库中时发生日志。
[2015-04-24 20:18:21,106] 错误:找不到模型条目:回溯(最近一次调用最后一次): DoesNotExist: NpBilling 匹配查询不存在。
在数据库中,该行的最后修改日期具体是 20:18:19。
这怎么可能发生?!奇怪的是,有时它会起作用,有时它会抛出这个错误。
我尝试使用 get_or_create 但我最终在数据库中有 2 个条目。其中之一是已经创建的。
提前感谢您的帮助。我将不胜感激快速响应和建议。
【问题讨论】:
-
它告诉您您没有匹配
op1=1, op2=2的对象。你确定你确实有一个匹配的吗?你是如何确定的? -
记录时间是在数据库中行的创建和修改时间之后..此外,如果我使用 get_or_create 它会创建它..我最终得到 2 行。
-
可能是竞争条件?
-
请提供更多信息/代码/上下文
-
你不需要这样做,顺便说一句,django 可以为你做,例如
field = DateTimeField(auto_now_add=True, ...)
标签: python django object get models