Django一对一关系和初始值
我正在学习编码,并试图用Django制作一个小应用程序 我有两个模型,组和列表。其思想是用户创建一个组,然后创建一个学生列表(使用表单集) 该列表中的所有学生都应分配到您刚刚创建的组。我已经设置了一对一的关系,但是这样,用户必须为每个学生选择组(假设所有这些学生都属于这个组,所以我认为重复这样做是不必要的)。 这是一种观点:Django一对一关系和初始值,django,django-forms,one-to-one,Django,Django Forms,One To One,我正在学习编码,并试图用Django制作一个小应用程序 我有两个模型,组和列表。其思想是用户创建一个组,然后创建一个学生列表(使用表单集) 该列表中的所有学生都应分配到您刚刚创建的组。我已经设置了一对一的关系,但是这样,用户必须为每个学生选择组(假设所有这些学生都属于这个组,所以我认为重复这样做是不必要的)。 这是一种观点: def addList(request): AddListFormSet = modelformset_factory(List, fields
def addList(request):
AddListFormSet = modelformset_factory(List,
fields=("name", "last_name", "second_last_name", "group"),
extra=2,)
if request.method == "POST":
form = AddListFormSet(request.POST)
form.save()
return redirect("/grupos")
form = AddListFormSet(queryset=List.objects.none())
return render(request, "new_list.html", {"form": form})
如何预先分配我刚刚为下一步捕获的所有学生创建的组?您可以将组id以参数形式从创建组的页面传递到创建列表的页面。因此,您可以使用它在表单中自动填充列表字段“group”
另外,使组字段可编辑,以便在表单中输入数据时,您可以从可用组的下拉菜单中更改组。谢谢,我得到了第一部分,现在我可以将组的id传递到下一个视图,但是如何在AddListFormSet中“自动填充”组字段?仍然不明白。您可以在表单函数中使用Javascript/jquery或python访问HTML中的表单字段。
def addList(request):
AddListFormSet = modelformset_factory(List,
fields=("name", "last_name", "second_last_name", "group"),
extra=2,)
if request.method == "POST":
form = AddListFormSet(request.POST)
form.save()
return redirect("/grupos")
form = AddListFormSet(queryset=List.objects.none())
return render(request, "new_list.html", {"form": form})