Python Django芹菜:任务未更新数据库
我有django应用程序,它使用芹菜Python Django芹菜:任务未更新数据库,python,django,celery,Python,Django,Celery,我有django应用程序,它使用芹菜 @task(name="execute_java_task") def execute_java_task(solution_id, stdin=None, stdout=None): logger.info("Task started") s = Solution.objects.get(pk=solution) s.solved = True s.save() 当用户提交表单时调用此任务 @login_required
@task(name="execute_java_task")
def execute_java_task(solution_id, stdin=None, stdout=None):
logger.info("Task started")
s = Solution.objects.get(pk=solution)
s.solved = True
s.save()
当用户提交表单时调用此任务
@login_required
def submit(request, question_id):
form = SolutionForm(request.POST or None, request.FILES or None)
if form.is_valid():
f = form.save(commit=False)
f.user_id = request.user
f.question_id = get_object_or_404(Question,
pk=question_id)
# Checks if the user is re-submitting a solved question.
rows = Solution.objects.filter(user_id=request.user,
question_id=question_id)
for row in rows:
if row.solved:
messages.success(request, "You have already solved this question.")
return redirect('index')
latest_id = Solution.objects.latest('id').id
if f.language == 'cpp':
execute_cpp_task.delay(latest_id+1)
else:
execute_java_task.delay(latest_id+1)
f.save()
messages.success(request, "Submitted successfully")
return redirect('index')
return render(request, 'main/form.html', {'form': form})
但是数据库没有得到更新。
这是芹菜工人信息-您是否安装和配置了
django芹菜
?@limellights是的。我添加了工人信息。好的,我想我知道了,但仍有疑问,每次代码更改后是否需要重新启动工人信息?是的,您需要重新启动。但是我看到你的任务有s=Solution.objects.get(pk=Solution)
并且应该是Solution\u id
你是否安装和配置了django芹菜
?@limlights是的。我添加了工人信息。好的,我想我知道了,但仍然有疑问,每次代码更改后我是否需要重新启动工人信息?是的,你需要重新启动。但是我看到您的任务有s=Solution.objects.get(pk=Solution)
并且应该是Solution\u id