У меня есть ряд объектов модели, и я хотел бы, чтобы данные о них можно было редактировать из одного представления. Соответственно, я установил это:
class JiraTicketTaskUpdateView(LoginRequiredMixin, ModelFormSetView):
model = models.TaskRecord
template_name = 'qa_jiraticket_task_update.html'
#form_class = forms.EditListForm
fields = ['task_name', 'status', 'hours', 'assigned_to']
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
ticket_id = int(self.request.path.split('/')[-1]) ticket = models.JiraTicket.objects.get(pk=ticket_id)
context['formset'].queryset = ticket.taskrecord_set.all()
breakpoint()
#We can add more stuff here later
return context
Я хочу, чтобы поле «assign_to» было доступно для просмотра, но не для редактирования. Теперь, как я знаю из документации django, я могу визуализировать каждую форму в наборе форм вручную (следующий пример - не мой код, это из django документов)
<form method="post">
{{ formset.management_form }}
{% for form in formset %}
{{ form.id }}
<ul>
<li>{{ form.name }}</li>
<li>{{ form.age }}</li>
</ul>
{% endfor %}
</form>
Однако для некоторых Управление по причинам не хочет, чтобы идентификатор формы отображался, что необходимо для работы этого метода.
Есть ли способ изменить базовый набор форм и / или контекст, чтобы сделать поле недоступным для редактирования на стороне просмотра?