python - 如何最好地从另一个 Docker 容器使用 Django 数据库?

标签 python django docker

所以我正在使用 Docker Compose 和 Django 构建一个工具。我有一个运行 Django 的应用程序容器和一个运行 MySQL 数据库的数据库容器。我想添加第三个容器,它将运行数据收集脚本,以便将该数据插入数据库。

使用查询直接插入数据非常简单,但我宁愿使用 Django ORM 来实现易用性、一致性,以便正确触发 Django 信号等。

在使用 Django ORM 保存数据时,运行此数据收集脚本的最明智的方式是什么?我应该只在 Django 容器中运行数据收集过程吗?

最佳答案

你的第三个容器将与你的第一个 django 应用程序容器相同,因为你想使用你的模型。唯一的区别是,它不会充当 http 服务器,而是充当任务执行器,将记录插入数据库。

您可以编写自定义django-admin command为此目的并在容器上运行此命令。或者对于复杂的情况,您可以使用 celery .

关于python - 如何最好地从另一个 Docker 容器使用 Django 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55866271/

相关文章:

python - Gunicorn 没有重新加载 Django 应用程序

python - 在 Python 中使用 Tkinter 退出时的消息框对话框

python - 在序列化器中添加一个额外的字段,但它不在模型中

django - 使用 Dockerfile 复制代码或使用 docker-compose 挂载卷

visual-studio - 尝试将 Visual Studio 2019 构建工具安装到 Docker 镜像中

python - 查找给定字符串中的所有 float 或整数

python - 数字中的数字相加(需要代码解释)

django - 权限错误 : [Errno 13] Permission denied: 'C:\\Users\\...\\AppData\\Local\\Temp\\tmp24xoaa7g'

python - 从python脚本访问django数据库

java - 生成 gradle java 应用程序的 dockerfile