我有一系列的模型对象,我希望可以从单个视图中编辑关于它们的数据。因此,我对此进行了设置:
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
我希望“ assigned_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>
但是,由于某种原因,管理人员不希望呈现表单ID,这对于此方法有效是必需的。
有什么方法可以编辑基础表单集和/或上下文,以使字段在视图侧不可编辑?