Как я могу отправить значение HTML-элемента в базу данных MySQL в Django с помощью Ajax (без использования формы)

Я новичок в Django и в настоящее время сталкиваюсь с проблемой размещения данных html-тегов в базе данных.

tables.html

<div class="containers pt-5 pb-3 px-4 py-4">
                  <input type='hidden' name='csrfmiddlewaretoken' value='{{ csrf_token }}' /> 
                    <div class="d-none">
                      <p>User ID: </p><p class="user-id">{{id}}</p>
                    </div>
                    <h3>Case Number:</h3><h2 id="number"></h2>
                    <h4>Description:</h4>
                    <p class="mb-5" id="display"></p>
                    <div class="button d-inline-block" style="max-width: 50%;">
                      <button type="submit" id="pick" class=" pick-button btn btn-outline-primary border-radius-lg p-3">Pick Case</button>
                    </div>
                    <div class="d-inline-block float-lg-end" style="max-width: 50%;">
                      <button class="btn btn-outline-danger border-radius-lg p-3">Close</button>
                    </div>
                </div>
<script>
$("#pick").click(function(){
        var user = $('.user-id').text();
        var ca = $('#number').text();
        ca = $.trim(ca);
        $.ajax({
          type:"POST",
          url:"{% url 'dashboard:pick_case' %}",
          data:{
            user_id:user,
            case_id:ca,
            csrfmiddlewaretoken: '{{ csrf_token }}'
          },
          success:function(data){
            alert(data);
          }
        });
      });
</script>

Views.py

def pick_view(request):
    if request.method == 'POST':
        case_id = request.POST.get('case_id')
        print(case_id)
        status = 2
        picked = Transaction()
        picked.Case_ID = case_id
        picked.Status = status
        picked.save()
        return HttpResponse("Case Picked Successfuly!")
    else:
        return HttpResponse("POST ERROR")

urls.py

urlpatterns = [
    path('dashboard', views.dashboard_view, name='dashboard_view'),
    path('tables', views.case_view, name='case_view'),
    path('tables', views.pick_view, name='pick_case'),
]

models.py

class Transaction(models.Model): ### Case Progress Table
    Case_ID = models.ForeignKey(CaseTable, on_delete=models.CASCADE)
    Status = models.ForeignKey(Status, on_delete=models.CASCADE)
    Date_Time = models.DateTimeField(default=timezone.now)

Я попробовал вышеприведенный код и я могу получить данные из HTML тегов, но не могу сохранить в базе данных.

Пожалуйста, помогите!!!

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