[英]send parameters from django updateview to model form
在基于 function 的视图中,很容易将参数传递给表单实例作为form = FormName(user_id=..)
并做其他工作人员,但我想知道如何在 django更新视图中执行此操作 这是我的观点
class MedicalrecordUpdate(UpdateView):
model = MedicalRecords
form_class = EditMedicalRecord
success_url = "."
template_name = "medicalrecord/edit_medicalrecord.html"
# ?? no idea how to pass user id to EditMedicalRecord form
forms.py
class EditMedicalRecord(forms.ModelForm):
def __init__(self, *args, **kwargs):
user_id = kwargs.pop("user_id")
super(EditMedicalRecord, self).__init__(*args, **kwargs)
...
...
您需要覆盖get_form_kwargs
:
class MedicalrecordUpdate(UpdateView):
model = MedicalRecords
form_class = EditMedicalRecord
success_url = "."
template_name = "medicalrecord/edit_medicalrecord.html"
def get_form_kwargs(self):
kwargs = super().get_form_kwargs()
kwargs.update({'user_id': self.kwargs.get('user_id')}) # self.kwargs is the kwargs passed to the view
return kwargs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.