django celery 任务完成后,对象消失

z4iuyo4d  于 2023-01-21  发布在  Go
关注(0)|答案(1)|浏览(142)

我有一个celery 任务,它在视图中从上传的数据中创建了一堆对象。对象在任务运行时存在,当任务完成时,对象就不在数据库中了。我知道这一点是因为我打开了一个单独的django shell,当任务运行时,我可以get添加的项目,但一旦任务完成,它们就不在那里了。有什么想法吗?
我的任务:

@task
def upload_data_things(session):
    ... #munging data
    for line in munged_data:
        new_thing = thing.objects.update_or_create(**kwargs, default=other_kwargs)

和视图:定义上传内容(请求,会话pk):会话=获取_对象_或_404(模型.上传会话,pk=会话_pk)上传_数据_事情.延迟(会话)返回HttpResponse(状态=201)

bvhaajcl

bvhaajcl1#

这是一个有点长的机会,但是您的对象是否有一个外键,该外键与另一个对象在同一个celery 任务中被删除?
我遇到过类似的问题,外键关系在删除时有级联,这导致我的对象被创建,然后在我删除引用的对象后被删除。

相关问题