Форма сохраняет сразу несколько экземпляров

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

Например :- Есть 5 ответов и если я комментирую один, то сохраняются те же пять экземпляров, а если вопрос имеет 3 ответа, то сохраняются 3 таких же комментария.

models.py

Class Question(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    body = models.TextField()

class Answer(models.Model):
    answered_by = models.ForeignKey(User, on_delete=models.CASCADE)
    question_of = models.ForeignKey(Question, on_delete=models.CASCADE)
    body = models.TextField()

class Comment(models.Model):
    commented_by = models.ForeignKey(User, on_delete=models.CASCADE)
    commented_on = models.ForeignKey(Answer, on_delete=models.CASCADE)
    text = models.TextField()

views.py

def save_comment(request, answer_id):
    if request.method == 'POST':
        comment = request.POST['comment']
        answer = Answer.objects.get(pk=answer_id)
        commented_by = request.user
        
        if comment != "":
            Comment.objects.create(commented_on=answer,
                                    text=comment,
                                    commented_by=commented_by)
            return JsonResponse({'bool':True})
        else:
            return JsonResponse({'bool':False})


template.html


{% for answer in answers %}


                <div class="card my-3">
                    <h6 class="card-header">Add Comment</h6>
                    <div class="card-body">
                        <textarea class="form-control comment-answer-text-{{answer.id}}"></textarea>
                        <div class="contain"></div>
                        <button type="button" data-data="{{answer.id}}" class="btn btn-dark my-3 save-answer-comment">Submit</button>
                    </div>
                </div>


<script>
    $(document).ready(function(){
        $(".save-answer-comment").on('click',function(){
            var _answerid=$(this).data('data');
            var commented=$(".comment-answer-text-"+_answerid).val();
            var by = $(".uncommen-text-"+_questionid).val();
            // Ajax
            $.ajax({
                url:"{% url 'save_comment' answer.id %}",
                type:"post",
                data:{
                    comment:commented,
                    answerid:_answerid,
                    by : by,
                    csrfmiddlewaretoken:"{{csrf_token}}"
                },
                dataType:'json',
            });
        });

    });
</script>

{% endfor %}


Я пробовал много раз, но он все еще не работает. Любая помощь будет очень признательна. Спасибо

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