有没有一种方法可以使Django ModelFormSet包含不可编辑的字段

时间:2020-08-04 17:09:18

标签: python django django-views

我有一系列的模型对象,我希望可以从单个视图中编辑关于它们的数据。因此,我对此进行了设置:

    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,这对于此方法有效是必需的。

有什么方法可以编辑基础表单集和/或上下文,以使字段在视图侧不可编辑?

0 个答案:

没有答案