Не удается получить данные из url для выполнения прогнозирования в django rest api

Я пытался сделать предсказания в drf и celery, и мой файл tasks.py имеет вид

@shared_task(bind=True)
@api_view(['GET'])
def predictions(self):
    solute = request.GET.get('solute')
    solvent = request.GET.get('solvent')
    mol = Chem.MolFromSmiles(solute)
    mol = Chem.AddHs(mol)
    solute = Chem.MolToSmiles(mol)
    solute_graph = get_graph_from_smile(solute)

    mol = Chem.MolFromSmiles(solvent)
    mol = Chem.AddHs(mol)
    solvent = Chem.MolToSmiles(mol)
    solvent_graph = get_graph_from_smile(solvent)


    delta_g, interaction_map =  model([solute_graph.to(device), solvent_graph.to(device)])
    return delta_g.detach(), torch.trunc(interaction_map).detach()

и мой файл views.py имеет вид

@api_view(['GET'])
def result(request):
    response = {}
    results = predictions.apply_async()
#    response["interaction_map"] = (results[1].numpy()).tolist()
#    final_results = results.get()
    print(results.get(propagate=False))
#    response["predictions"] = results[0].item()

    return Response({'result': results.get(propagate=False)}, status=200)

Я получаю ошибку @api_view(['GET']) NameError: name 'api_view' is not defined.

Я знаю, что загрузка растворителя и растворителя в файл views.py устраняет проблему. но я хочу получить их непосредственно в файле tasks.py. Если это невозможно, я хочу перенести solute и solvent в файл tasks.py. Как я могу это сделать?

solute = request.GET.get('solute')
solvent = request.GET.get('solvent')
Вернуться на верх