我正在观察Celery的一个非常奇怪的错误。我的任务文件中的一些代码会产生一些我确定应该返回1个结果的get请求,但它们有时会返回32个结果。发生此错误时,返回的结果数始终为32。
以下是两个不同的get调用的例外情况:
MultipleObjectsReturned: get() returned more than one User --
it returned 32! Lookup parameters were {'id__exact': 9503}
MultipleObjectsReturned: get() returned more than one Avatar --
it returned 32! Lookup parameters were {'id__exact': 372}
对于非芹菜视图,这绝不是问题。我也在使用johnny-cache,所以我怀疑它可能是罪魁祸首,向memcache而不是数据库发出get()请求。 任何人都知道发生了什么事?
答案 0 :(得分:2)
事实证明这与使用johnny-cache和celery有关。删除johnny缓存,我们不再有任何问题。