django - 在 Celery 任务中使用 Django 的 ORM

标签 django django-models celery django-celery

Celery 任务如何访问 Django 数据库抽象 API?这是否需要使用独立 Django ORM 使用的策略之一从头开始编码,或者是否有更简化的内置方式或常见做法?

好像没有人问这个问题。然而,对我来说,这是最基本的。

example暗示这没什么大不了的,但是有人可以解释一下 Celery 和 Django 之间的 session 管理和 ORM 范围是如何工作的吗?

最佳答案

默认情况下,Celery 会腌制其任务参数。 Django 模型实例也可以被腌制。

问题在于,酸洗模型实例就像当时拍摄它的快照。 Unpickling 不会触及数据库。

我想这是好是坏取决于您的需求。我倾向于将主键发送到我的任务中并重新查询有问题的对象。

关于django - 在 Celery 任务中使用 Django 的 ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6734688/

相关文章:

django - 为django设计模型结构

Django UUIDField - 让它更短

python - celery "received unregistered task"

django - 如何在任务功能运行之前设置 celery 结果后端键?

python - Django 1.7 - 为定义添加或更改 related_name 参数

django - 致命的 : password authentication failed for user "root" postgresql

python - Python 装饰器做什么,它的代码在哪里?

Django 表单向导 - 将请求传递给 View ?

python - 避免在 Django 中循环导入

python - 防止重复的 celery 记录