Внесённый в форму комментарий не отображается на странице, но в БД сохраняется, как исправить?

views.py

def more_about_question(request, q_slug):
more_q = get_object_or_404(Questions, slug=q_slug)

answer = Answer.objects.filter(post=more_q) #обращаемся к полю пост, которое равно посту
if request.method == 'POST':
    answer_form = AnswerForm(data=request.POST)
    if answer_form.is_valid():
        print(answer_form.cleaned_data)
        ans = answer_form.save(commit=False)
        ans.more_q = more_q
        ans.save()

else:
    answer_form = AnswerForm()
dict = {
    'menu':menu,
    'more_q':more_q,
    'title':'Вопрос',
    'answer_form':answer_form,
    'answer':answer
}

return render(request, 'blog/more_q.html', dict)

urls.py

urlpatterns = [
    path('', MainListVIew.as_view(), name = 'home'),
    path('question/<slug:q_slug>', more_about_question, name = 'question'),
]

шаблон

    {% extends 'blog/base.html' %}
{% block more_q %}

<td valign="top" class="content">

<!--    Так выглядит вопрос(запись)-->
    <div class="square">
        <h5 class="category">{{more_q.q_cat}}</h5>
        <h1 class="q_name">{{more_q.q_name}}</h1>
        {% autoescape off %}
        <p class="q_text">{{more_q.q_text}}</p>
        {% endautoescape %}
    </div>

<!--Подсчет кол-ва ответов на вопрос-->
    {% with answer.count as total_answer %}
    <h2>
        Ответы - {{ total_answer }}
    </h2>
    {% endwith %}

<!--  форма для заполнения ответов -->

    {% if new_answer %}
    <h2>Your comment has been added.</h2>
    {% else %}
        <h2>Add a new comment</h2>
        <form method="post">
            {{ answer_form.as_p }}
            {% csrf_token %}
            <p><input type="submit" value="Add comment"></p>
        </form>
    {% endif %}

<!--Отображаение всех ответов-->
    {% for ans in answer %}
    <div class="answer">
        <p>
        Ответ от {{ ans.name }}
        {{ ans.created }}
        </p>
        {{ ans.text|linebreaks }}
    </div>
    {% empty %}
        <p>There are no comments yet.</p>
    {% endfor %}


</td>

{% endblock %}

Через админку комментарии(ответы) добавляются нормально, но через форму не работает. Нажимаю на кнопку 'добавить', коммент сохраняется в БД, но не показывается на странице, вот скрин

введите сюда описание изображения

p.s на отступы во views.py не обращайте внимания, все ок в редакторе

Во вьюхе, после сохренения необходимо снова выполнить запрос в БД, или организовать работу запросов, чтобы одно другому не мешало.

Потому что на сайте отображаются выборки всех записей, которые есть на тот момент, а сохраняете вы после выборки из БД, поэтому и не видно.

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