在django视图中保存不同类的多个实例的方法

时间:2013-11-21 14:40:21

标签: django django-views

我想创建我的类Project的新实例。在每个新项目中,我想将ProductionAsset与项目相关联。我想将一个任务与ProductionAsset相关联。

班级资产项目有一个foreignKey * ProductionAsset *继承资产类,即 ProductionAsset(资产)任务具有类资产

的foreignKey

这是我的代码:

def createProject (request):
    projectForm=ProjectForm(request.POST)
    if projectForm.is_valid():
        projectForm.save()
        project = Project.objects.get(name=projectForm.cleaned_data.get("name") )
        asset = ProductionAsset(project=project, name='Production_'+project.name)
        asset.save()
        general=TaskTemplate.objects.get(name='General')
        task = Task(type=general, asset=asset,prefix=project.name) 
        task.save()
        return HttpResponseRedirect('/projects/')
     else :
        return render(request,'error.html',Context({'errors':projectForm.errors}))

在同一视图中保存多个实例我感觉很糟糕,但我不知道如何做不同的事情。 任何人都可以告诉我我的代码是否正确或是否是错误的方法?

谢谢!

0 个答案:

没有答案