В настоящее время у меня есть следующий шаблон, в котором есть раскрывающийся список для каждой строки в таблице.Каждый раз, когда выбирается или щелкается выбор из одного из этих выпадающих меню, он должен POST.Однако я не понимаю, что мне нужно делать в своем классе View, чтобы заставить его отправлять данные в базу данных.
<div class="dropdown">
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">Change Status</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<button onclick="status_update("In Session", {{a.patient_id}})" class="dropdown-item">In Session</button>
<button onclick="status_update("Complete", {{a.patient_id}})" class="dropdown-item">Complete</button>
<button onclick="status_update("Canceled", {{a.patient_id}})" class="dropdown-item">Canceled</button>
</div>
</div>
</td>
</div></tr>{% endfor %}
</table>
</div>
</div>
{% endblock body %}
{% block script %}
<script type="text/javascript">
function update_status(status, id) {
var patient_pid = id;
$.ajax({
type: "POST",
url: "{% url 'dashboard' %}",
data: {'patient_id': id, 'status': status, csrfmiddlewaretoken:'{{csrf_token}}'},
success: function() {
$.ajax({
type: "POST",
url: "{% url 'dashboard' %}",
data: {'patient_id': id, 'status': status, csrfmiddlewaretoken:'{{csrf_token}}'}
});
}
});
}
</script>
Представление, соответствующее этому шаблону, определяется следующим образом:
class DashboardView(TemplateView):
template_name = 'dashboard.html'
def get_context_data(self, **kwargs):
kwargs = super(DashboardView, self).get_context_data(**kwargs)
# Hit the API using one of the endpoints just to prove that we can
# If this works, then your oAuth setup is working correctly.
# appointments = self.make_api_request()
#get all the appointments/update database if neccessary
Appointment.objects.all()
#only get todays from database
appts = Appointment.objects.get_today()
kwargs['appointments'] = appts
return kwargs
Как я могу получить это для фактического обновления базы данных?