Попытка передать два аргумента в celery из django

Я совсем новичок в celery и пытаюсь передать два аргумента из django в задачу celery, чтобы использовать их. Если я пытаюсь передать один аргумент, задача работает нормально, но если я добавляю второй аргумент, все рушится. Есть идеи? Мой первоначальный рабочий вид celery выглядит следующим образом:

view:

def detection(request):

    if request.method == 'GET':
          . . . . . . .
    elif request.method == 'POST':
        stress = AddImg(request.POST, request.FILES)
        if stress.is_valid():
            stress = stress.save(commit=False)
            try:
                stress.stressImg = request.FILES['stressImg']
                stress.save()
                Detection.delay(stress.pk)  # Celery Task
            except:
                print("Something went wrong! Try again.")

задача:

@shared_task(bind=True)
def Detection(self, stressID):
    print("\n\n\n\n\n\n===============START===============\n\n\n\n\n\n")
    print(stressID)

Я попробовал изменить свой вид, но все еще нет результата:

        username = request.user.username
        Detection.apply_async(args=[stress.pk, username])  # Celery Task

Не работает, если я использую .delay(stres.pk, username) и def Detection(self, stressID, username): так как он говорит, что находит 3 аргумента вместо двух, хотя он не говорит то же самое, когда аргумент на один меньше. Любая помощь будет оценена по достоинству.

Вернуться на верх