使用django将数据加载到外部文本文件中
Load data into external text file using django
我有 apache+mysql+django。在 mysql 我存储了一些数据,并使用 django 与之交互。
现在我需要将来自 mysql 的数据以适当的格式存储到一些外部文本文件(如 csv)中(我想稍后使用 jenkins 作为参数源来解析它)。我如何创建某种事件,使用 Django 将数据从 DB table 上传到文本文件(就我已经安装的 Django 而言,我知道 python 本身可以轻松做到这一点)?
我想要 reapetable 事件。就像每 1 分钟数据将同步一次。像这样。
太棒了!
我建议编写自定义管理命令,获取所需信息并将其写入 CSV。正如您所说,将数据写入文本文件的过程在 Python 中非常简单 - 使用管理命令可以让您直接使用 ORM,大大简化与数据库的交互。
使用管理命令的第二个好处是很容易 运行 作为 cronjob。一旦你编写了你的自定义命令(我们称之为 csvsync
),你可以在你的 crontab 中写这样的东西:
* * * * * python /your/path/to/manage.py csvsync
自定义管理命令的相关文档如下:https://docs.djangoproject.com/en/1.7/howto/custom-management-commands/
开发人员在链接文档中注意到以下内容:
Standalone scripts
Custom management commands are especially useful for running
standalone scripts or for scripts that are periodically executed from
the UNIX crontab or from Windows scheduled tasks control panel.
我有 apache+mysql+django。在 mysql 我存储了一些数据,并使用 django 与之交互。 现在我需要将来自 mysql 的数据以适当的格式存储到一些外部文本文件(如 csv)中(我想稍后使用 jenkins 作为参数源来解析它)。我如何创建某种事件,使用 Django 将数据从 DB table 上传到文本文件(就我已经安装的 Django 而言,我知道 python 本身可以轻松做到这一点)? 我想要 reapetable 事件。就像每 1 分钟数据将同步一次。像这样。
太棒了!
我建议编写自定义管理命令,获取所需信息并将其写入 CSV。正如您所说,将数据写入文本文件的过程在 Python 中非常简单 - 使用管理命令可以让您直接使用 ORM,大大简化与数据库的交互。
使用管理命令的第二个好处是很容易 运行 作为 cronjob。一旦你编写了你的自定义命令(我们称之为 csvsync
),你可以在你的 crontab 中写这样的东西:
* * * * * python /your/path/to/manage.py csvsync
自定义管理命令的相关文档如下:https://docs.djangoproject.com/en/1.7/howto/custom-management-commands/
开发人员在链接文档中注意到以下内容:
Standalone scripts
Custom management commands are especially useful for running standalone scripts or for scripts that are periodically executed from the UNIX crontab or from Windows scheduled tasks control panel.