【发布时间】:2016-02-02 16:27:17
【问题描述】:
我对 Django 有以下看法。我可以对通用视图做同样的事情吗?
# 型号:
风险评估 # 包含名称和信息
风险线 # 每个 (RiskAssessment ForeignKKey) 包含许多行 #
def risk_view(request, pk=None):
if pk == None:
return HttpResponseRedirect('/fm/riskassessment/') # No pk show list
else:
risk = RiskAssessment.objects.get(id = pk)
RiskLineSet = inlineformset_factory(RiskAssessment, RiskLine, can_delete=False, exclude=('user',))
if request.method == "POST":
riskform = RiskForm(request.POST, instance=risk)
risklineset = RiskLineSet(request.POST, request.FILES, instance=risk)
if riskform.is_valid() and risklineset.is_valid():
riskform.save()
risklineset.save()
# Redirect to somewhere
if '_save' in request.POST:
return HttpResponseRedirect('/fm/riskassessmentlist/')
if '_addanother' in request.POST:
return HttpResponseRedirect('/fm/riskassessmentnew/')
else:
riskform = RiskForm(instance=risk)
risklineset = RiskLineSet(instance=risk)
return render_to_response('formulare/RiskAssessment/risk.html', {
'riskform' : riskform,
'risklineset' : risklineset,
}, context_instance=RequestContext(request) )
【问题讨论】:
-
简短回答:是的。如需更长的答案,请提出实际问题。
标签: python django django-class-based-views inline-formset