0

我编写了一个小的守护程序脚本,它将检查模型(Foo)字段的状态,如果它是 0,那么更新另一个模型(Bar),如果它是 1,那么什么也不做。

守护进程运行良好,如果模型状态为 0,它会按照我们的预期进行更新。

请从此处找到脚本的链接:单击

但是一旦我们启动守护程序脚本,它就无法读取之后的数据库更改。意味着,在守护进程开始运行后,即使在状态为 0 的模型 Foo 中创建了一个对象,守护进程也无法读取它,因此模型 Bar 没有按预期更新。

我该如何解决这个问题?

4

1 回答 1

0

根本问题是,在随后的守护进程检查中,数据库状态与守护进程启动时相同。

我从这个链接得到了解决方案的提示。

在每个 orm 查询之前,我重置了连接,现在 orm 正在读取更新的数据库。

def reset_database_connection():  
    from django import db  
    db.close_connection() 
于 2014-07-18T10:25:42.893 回答