如何在django中监视mysql表的更改?

如何在django中监视mysql表的更改?,mysql,django,monitor,Mysql,Django,Monitor,为了监视django中mysql表的变化,我编写了如下代码: while not find_close_signal(): time.sleep(10) if MyProject.models.MyModel.objects.all().exists(): some_execution() 但是,它不起作用。如果开始时表中没有条目,则某些_execution()将永远不会运行,即使以后有记录通过其他带外方式填充到该表中 有人遇到过这样的问题吗 我还发现在“man

为了监视django中mysql表的变化,我编写了如下代码:

while not find_close_signal():
    time.sleep(10)
    if MyProject.models.MyModel.objects.all().exists():
        some_execution()
但是,它不起作用。如果开始时表中没有条目,则某些_execution()将永远不会运行,即使以后有记录通过其他带外方式填充到该表中

有人遇到过这样的问题吗


我还发现在“manage.py shell”中,出现的问题完全相同:在此shell中找不到从该shell添加到db中的任何其他条目。这是真的还是我弄错了?谢谢

我不确定这是否是一个问题,但可能是您在事务中执行了此代码,因此在这种情况下,您看不到任何更改


还有一件事,您可以跳过此检查中的“.all()”。

在此处查看我的答案:

您可以将数据库标记为“”,以使Django放弃缓存结果:

from django.db import transaction
transaction.set_dirty()