python - Django 刷新数据库直到事务结束

标签 python django python-3.x django-models

我有一项很长的任务,那就是向数据库表中添加许多记录。 在表中,有一个名为“end”的字段。在任务完成之前,该字段将为空。一旦任务完成,我将在“结束”字段中写入一个值。

我可以有一个 HTML 页面,它每 5 秒使用表格中的项目刷新页面,直到字段“end”有值吗?

有人有这方面的示例脚本吗?

最佳答案

这是一个非常具体的问题,我认为没有现成的例子。

但是您可以在 HTML 模板中简单地使用 JavaScript:

{% if end_column_empty %}

 <script>    
   setTimeout(function(){
     window.location.reload(1);
   }, 5000);
 <script>

{% else %}
 Table is Complete.
{% endif %}

以上代码假定您使用 Celery 或以某种方式执行异步的长 SQL 任务。如果您的 SQL 作业需要 50 秒才能完成,上面的代码将不起作用,因为它会在 5 秒后中断。

如果您不想使用 Celery,您可以按原样执行 SQL 作业,同时使用 jQuery 更新表 - 为此,您需要通过 REST API 访问表数据。

关于python - Django 刷新数据库直到事务结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51888992/

相关文章:

Python:导入子模块

python - Haystack 对多对多字段的搜索不起作用

python - 如何阻止用户输入 1582 年之前的年份 (Python)

python - 如何找到 Sprite 之间的距离?

python - Visual Studio Code 的调试器和 pipenv

python - 同步代码的异步性能

python - 如何使用 Q 对象和 & 运算符对查询集的值进行过滤查询?

python - 计算 Django 模板中两个日期之间的天数

python - Wx.stc.StyledTextCtrl 滚动条

Python 找到 pandas 列中日期之间的差异?