Python 如何从url获取变量以形成';s方法-保存?
我有一个id为的URL模式Python 如何从url获取变量以形成';s方法-保存?,python,django,django-models,django-forms,django-generic-views,Python,Django,Django Models,Django Forms,Django Generic Views,我有一个id为的URL模式 ... url(r'^3/(?P<id>[-\w]+)', Biochemical_analysis_of_blood.as_view(),\ name='biochemical_analysis_view'), ... forms.py class SaveForms(): def save(self, commit=True): analysis = Analyzes() sid = transacti
...
url(r'^3/(?P<id>[-\w]+)', Biochemical_analysis_of_blood.as_view(),\
name='biochemical_analysis_view'),
...
forms.py
class SaveForms():
def save(self, commit=True):
analysis = Analyzes()
sid = transaction.savepoint()
analysis.name = self.data["name"]
analysis.patient_id = Patient.objects.get(id=1)
analysis.who_send = self.data["who_send"]
analysis.who_is_doctor = self.data["who_is_doctor"]
analysis.lab_user_id = Doctor.objects.get(id=self.data["lab_user_id"])
analysis.additional_lab_user = self.data["lab_user_add"]
analysis.date = self.data["date"]
analysis.type = 3
analysis.date_analysis = self.data["date_analysis"]
analysis.save()
# Your analysis is created, attach it to the form instance object
self.instance.analysis_id = analysis.id
return super().save(commit)
如何从url获取变量“id”到表单的方法-save?类保存窗体将被其他forms.models类继承,因为它们都必须具有相同的保存方法
...
analysis.patient_id = Patient.objects.get(id=1)
...
我必须使用url中的“id”来代替“1”…谁能帮我
class BiochemicalAnalysisOfBloodForm(SaveForms, forms.ModelForm):
...
您可以访问表单中的请求数据,请检查以下答案:
使用request.path代替request.user对象。几乎所有保存方法都是完全不必要的。Django modelforms已经做到了这一点。关于其他内容,请参阅-它讨论了request.user,但原理完全相同。
class BiochemicalAnalysisOfBloodForm(SaveForms, forms.ModelForm):
...