Выбор POST из выпадающего списка / обновление базы данных с использованием Javascript / Django - PullRequest
0 голосов
/ 09 мая 2019

В настоящее время у меня есть следующий шаблон, в котором есть раскрывающийся список для каждой строки в таблице.Каждый раз, когда выбирается или щелкается выбор из одного из этих выпадающих меню, он должен 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

Как я могу получить это для фактического обновления базы данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...