Python django M2M保存(POST后)
我在表单集中有一个表单,允许用户通过复选框选择他们希望包含在其中的电子邮件列表。该列表通过查询填充: form.fields['email\u list'].queryset=EmailList.objects.filteris\u active=True,is\u visible=True 还有一些用户看不到的电子邮件列表is_visible=False。用户无法查看这些记录,但如果管理员已通过“管理”面板将用户添加到其中一个列表中,则这些列表需要与用户对其可以看到的列表所做的任何更改一起保存 在我看来,我需要从帖子中获取对象并附加查询的输出。。。is_visible=对其为假。然后我可以保存它,所有的M2M记录都会被保存。但是我不能让它工作 表单集的视图如下所示:Python django M2M保存(POST后),python,django,formset,inline-formset,m2m,Python,Django,Formset,Inline Formset,M2m,我在表单集中有一个表单,允许用户通过复选框选择他们希望包含在其中的电子邮件列表。该列表通过查询填充: form.fields['email\u list'].queryset=EmailList.objects.filteris\u active=True,is\u visible=True 还有一些用户看不到的电子邮件列表is_visible=False。用户无法查看这些记录,但如果管理员已通过“管理”面板将用户添加到其中一个列表中,则这些列表需要与用户对其可以看到的列表所做的任何更改一起保存
FamilyInlineFormSet = modelformset_factory(Family, extra=0, formset=FamilyBaseFormSet)
FamilyMemberInlineFormSet = modelformset_factory(FamilyMember,
extra=0, formset=FamilyMemberBaseFormSet)
if request.method == "POST":
family_formset = FamilyInlineFormSet(request.POST, request.FILES,
queryset=Family.objects.filter(id=request.user.family.id), prefix='f')
family_member_formset = FamilyMemberInlineFormSet(request.POST, request.FILES,
queryset=FamilyMember.objects.filter(family=request.user.family.id), prefix='fm')
if family_formset.is_valid() and family_member_formset.is_valid():
####### HERE IS WHERE THE CODE SHOULD GO, I BELIEVE #############
family_formset.save()
family_member_formset.save()
return redirect('/school/thanks/')
else:
family_formset = FamilyInlineFormSet(queryset=Family.objects.filter(id=request.user.family.id), prefix='f')
family_member_formset = FamilyMemberInlineFormSet(queryset=FamilyMember.objects.filter(family=request.user.family.id), prefix='fm')
context = RequestContext(request,{
'family_formset': family_formset,
'family_member_formset': family_member_formset,
})
return render_to_response("school/family/manage_family_members.html", context)
以下是模型文件中的条目:
email_list = models.ManyToManyField('EmailList', verbose_name="Email Lists", blank=True, null=True)
有人能告诉我如何做到这一点吗?这是一个复杂而具体的问题。请将项目上传到github并共享,以便我可以查看一些上下文。善待。。。我是一名UNIX/SAN管理员,因此我的编程技能低于标准:我明天去看看,否则星期一就去。