簡體   English   中英

將參數從 django updateview 發送到 model 表單

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM