Таблицы данных с формой выбора в каждой строке с помощью Django/Python
Я совсем новичок в django/python, но я хотел создать интерфейс сайта для базы данных с пациентами и их назначениями. Для облегчения работы пользователей этого интерфейса возникла просьба сделать так, чтобы статус приема можно было выбирать в базе данных непосредственно, как показано на рисунке.
Форма выбора в каждой строке на картинке не работает и отображается с помощью html только в качестве примера, чтобы показать, чего я хочу добиться.
Я пытался использовать функцию в django для возврата формы для каждой строки по запросу с предварительным выбором текущего статуса. Но у меня ничего не получилось... Может у кого-то есть подсказка для меня?
Я создал класс формы и функцию представления, которые могут быть доступны через url:
urls.py:
path('appointments/<int:pk>/quickupdatestatus/', views.AppointmentQuickUpdateStatus, name='appointment-quick-update-status'),
view.py:
def AppointmentQuickUpdateStatus(request, pk):
if request.user.is_authenticated:
ap = appointment.objects.get(pk=pk)
if request.method == 'POST':
ap.status = request.POST.get('status')
ap.save()
messages.success(request, 'Status erfolgreich bearbeitet!')
else:
form_class = AppointmentQuickStatusForm(initial={'status': ap.status})
render(form_class)
#How can I return just the Form and Render it for every individual row?
else:
response = redirect('/account/login/')
return response
form.py:
class AppointmentQuickStatusForm(forms.Form):
status = forms.ModelChoiceField(
label='Status:',
queryset=status.objects.all(),
required=True,
widget=forms.Select(attrs={'class': 'form-control', 'onChange': 'form.submit();'})
)