小编con*_*onf的帖子

禁止直接分配到多对多集合的前端.请改用emails_for_help.set()

我是Django的新手,没有找到关于这个问题的任何参考.当我在django模型(models.py)中使用多对多字段时,我收到此错误.我想问题是从窗体(forms.py)中查看视图(views.py)中的m2m.如何在视图中分配m2m字段.
Django版本2.O python 3.5

models.py

class User(AbstractUser):
 username=models.CharField(max_length=20)
 email = models.EmailField(_('email address'), unique=True)


class Setupuser(models.Model):
 organization=models.CharField(max_length=200,blank=False,null=True)
 emails_for_help = models.ManyToManyField(User)
Run Code Online (Sandbox Code Playgroud)

views.py

class Set_user(FormView):
 template_name="pkm_templates/set_up_user.html"
 form_class = Set_User_Form
 success_url = '/thanks/'
 def form_valid(self, form):
    org = form.cleaned_data.get('organization')
    emails = form.cleaned_data.get("emails_for_help")
    instance = Setupuser(organization=org,emails_for_help=emails)
    instance.save()
    return redirect("/")
Run Code Online (Sandbox Code Playgroud)

forms.py

class Set_User_Form(ModelForm):
  emails_for_help = 
 forms.ModelMultipleChoiceField(queryset=User.objects.all(),
 widget=forms.CheckboxSelectMultiple)
 class Meta:
    model=Setupuser
    fields=["organization","emails_for_help"]
Run Code Online (Sandbox Code Playgroud)

python django django-orm m2m

19
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

django-orm ×1

m2m ×1

python ×1