簡體   English   中英

使用 Ajax / Django 獲取查詢長度

[英]Getting query length with Ajax / Django

根據表單中的選擇,我想獲取與所選數據的id相匹配的記錄數作為整數。

這是我的觀點:

def loadRelationalForm(request):
    main_task_id = request.GET.get('main_task_id')
    relational_tasks = TaskTypeRelations.objects.filter(main_task_type_id = main_task_id)
    data_len = len(relational_tasks)


    return JsonResponse({'data': data_len})

這是我的ajax:

<script>
$("#id_user_task-0-task_types_id").change(function () {
    const url = $("#usertask-form").attr("data-relationalform-url");  
    const mainTaskId = $(this).val();  
    
    $.ajax({                    
        url: url,                 
        data: {
            'main_task_id': mainTaskId,             
        },
        success: function (resp) {  
           console.log(resp.data);
        }
    });

});

我想在表單中寫入與所選數據的main_task_id關聯的關系任務數。 但我做不到。 謝謝你的幫助。 親切的問候

確保您提取的數據是整數。 這一行:

 main_task_id = request.GET.get('main_task_id')

可能是一個字符串,結果查詢將找不到匹配項。

另外,如果你想要一些相關的對象,你有更有效的方法來做到這一點:

def loadRelationalForm(request):
    main_task_id = request.GET.get('main_task_id')
    if main_task_id:
        main_task_id = int(main_task_id)

    main_task = TheMainTaskModel.objects.get(id=main_task_id)
    related_task_count = main_task.tasktyperelations_set.count()


    return JsonResponse({'data': related_task_count})

請參閱有關反向關系和的文檔。 數數()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM