【发布时间】:2017-11-20 14:46:43
【问题描述】:
class Biochemical_analysis_of_blood(CreateView):
model = BiochemicalAnalysisOfBlood
form_class = BiochemicalAnalysisOfBloodForm
template_name = "biochemical_analysis_of_blood.html"
success_url = reverse_lazy("patients")
def get_context_data(self, **kwargs):
context = super(Biochemical_analysis_of_blood, self).get_context_data(**kwargs)
patient = Patient.objects.get(id=1)
context["patient"] = patient
return context
def post(self, request, *args, **kwargs):
analysis = Analyzes()
sid = transaction.savepoint()
analysis.name = request.POST["name"]
analysis.patient_id = Patient.objects.get(id=1)
analysis.who_send = request.POST["who_send"]
analysis.who_is_doctor = request.POST["who_is_doctor"]
analysis.lab_user_id = Doctor.objects.get(id=request.POST["lab_user_id"])
analysis.additional_lab_user = request.POST["lab_user_add"]
analysis.date = '2017-06-18'
analysis.type = 3
analysis.date_analysis = '2017-06-18'
analysis.save()
return super(Biochemical_analysis_of_blood, self).post(request, *args, **kwargs)
我有下一个算法:
将
BiochemicalAnalysisOfBloodForm呈现给用户当他填写字段并按下“保存”按钮时,我创建了一个
Analyzes()的新实例并以编程方式填充它,当在 post 方法中我调用super().post()时,用户数据将被写入模型 @ 987654325@自动?但我有下一个错误:
NOT NULL 约束失败: lab_biochemicalanalysisofblood.analysis_id
如何在手动模式下将模型添加到字段“分析”Analyzes() 的早期创建实例?我不明白这门课到底在哪里我可以找到有关所有机会的信息
【问题讨论】:
-
你能把你的表格 BiochemicalAnalysisOfBloodForm 的内容贴出来吗?
-
为什么没有单独的自动填充 id 并且 analysisid 是一个可为空的字段?
标签: python django django-generic-views django-class-based-views