Python Django Post请求详情页(Id)
我想用pk向特定url发出Django post请求。所以我有一个项目列表,每个项目中都有任务。我想向该特定项目添加一项任务 这是用于创建普通项目的视图功能:Python Django Post请求详情页(Id),python,django,django-models,django-views,Python,Django,Django Models,Django Views,我想用pk向特定url发出Django post请求。所以我有一个项目列表,每个项目中都有任务。我想向该特定项目添加一项任务 这是用于创建普通项目的视图功能: @login_required def create_project(request): if request.method == 'POST': name = request.POST.get('Studyplan-Name') description = request.POST.get('Studyplan-D
@login_required
def create_project(request):
if request.method == 'POST':
name = request.POST.get('Studyplan-Name')
description = request.POST.get('Studyplan-Description')
parent_assignment = Assignment.objects.get(pk=request.POST.get('Studyplan-PAID'))
usernames = request.POST.getlist('Studyplan-Canview')
users = User.objects.filter(username__in=usernames)
userprofiles = UserProfile.objects.filter(user__in=users)
project = Project(name=name, description=description, parent_assignment=parent_assignment)
project.save()
project.canview.set(userprofiles)
project.members.set(userprofiles)
return redirect('allProjects')
这是一个项目:
当我点击此按钮时,我会看到一个包含大量任务的详细页面:
这是一项任务:
如您所见,每个项目都有多个任务:
这是我试图对任务执行post请求的尝试。我的问题是任务未连接到项目的id:
@login_required
def create_task(request):
if request.method == 'POST':
name = request.POST.get('Studyplan-Name')
description = request.POST.get('Studyplan-Description')
usernames = request.POST.getlist('Studyplan-Canview')
users = User.objects.filter(username__in=usernames)
userprofiles = UserProfile.objects.filter(user__in=users)
task = Task(name=name, description=description, state="new")
task.save()
task.canview.set(userprofiles)
task.workers.set(userprofiles)
return redirect('allaStudieplaner')
这是一张来自管理页面的图片。我在项目中,我希望在此处选择任务:
您没有显示如何将项目id传递给视图,也没有显示如何将任务与项目关联
task.project=project.objects.get(id=)
或类似的东西在您的视图中丢失。在帖子中我没有显示它,但现在我可以将研究计划的id解析到视图中。但我的问题是,任务在项目中是一种价值,而不是相反的价值,因此我无法将其转换为任务。项目,这是不存在的:)在您的模型中,任务和项目之间的关系是什么?你说过一个项目可以有很多任务,那么合乎逻辑的是,Task
有一个ForeignKey
到project
。每个项目都有多个任务,因此在项目模型中有一个多任务字段