Django reload - ajax GET после POST не получает последние экземпляры модели базы данных
Этот вопрос уже задавался разными способами, но я не могу заставить его работать... Я еще не использую AJAX в своем скрипте, но я должен использовать его, так как обновление моей базы данных не видно в моем приложении. Только когда я перезапускаю приложение, я могу увидеть изменения. Может ли кто-нибудь помочь мне?
В настоящее время я имею следующее:
.html
{% block content %}
<form id="post-setting-form" class="card" action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="card-body">
<h3 class="card-title">Update Mail Settings</h3>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="form-label">Send Emails:</label>
<p></p>
<input type="radio" name="update_type" value="manual" {% if view.manualSetting %}checked {%endif%}> Manual
{% if view.manualSetting is 1 %} ( Current setting ) {% else %} {% endif %}</input>
<p></p>
<input type="radio" name="update_type" value="auto" {% if view.autoSetting %}checked {%endif%}> Automated
{% if view.autoSetting is 1 %} ( Current setting ) {% else %} {% endif %}</input>
<p></p>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
.views
class AutoSendView(generic.TemplateView):
template_name = 'core/mailbox/autoSendMail.html'
context_object_name = 'autosend'
extra_context = {"mailbox_page": "active"}
model = AutoSendMail.objects.get(pk=1)
model.save()
model.reload
model.refresh_from_db()
autoSetting = int(model.auto == True)
manualSetting = int(model.manual == True)
def post(self, request, *args, **kwargs):
id_ = self.kwargs.get("pk")
logger.info("testestest")
update_type = self.request.POST.get('update_type')
logger.info(update_type)
if update_type == 'manual':
logger.info("Set to: manual email send")
model = AutoSendMail.objects.get(pk=1)
model.manual = True
model.auto = False
model.type = "manual"
model.save()
model.reload()
return redirect(reverse("core:autosend"))
elif update_type == 'auto':
logger.info("Set to: auto email send")
model = AutoSendMail.objects.get(pk=1)
model.manual = False
model.auto = True
model.type = "auto"
model.save()
model.reload()
return redirect(reverse("core:autosend"))
Как вы можете видеть, я пробовал это с несколькими настройками reload(), а также пробовал несколько различных функций GET в моем views.py, но это не сработало. Я думаю, что у меня должно быть что-то вроде here, но я никогда раньше не работал с AJAX и понятия не имею, как я могу реализовать это в своем собственном коде. Я пробовал, но, похоже, это ничего не дает.