Direct assignment to the forward side of a many-to-many set is prohibited. Use emails_for_help.set() instead89
I am new to Django and didn't find any reference regarding this issue. I am getting this error when i use many to many field in Django model (models.py). I guess the issue is assigning m2m field in view(views.py) from form(forms.py).
How to assign m2m field in view? (Django version 2.0, 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)
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("/")
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"]

Respuesta :

Using the knowledge in computational language in python it is possible to write a code that Use emails_for_help.set() instead89 I am new to Django.

Writing the code

A high-level, all-purpose programming language is Python. Code readability is prioritized in its design philosophy, which makes heavy use of indentation.

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)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("/")class Set_User_Form(ModelForm):  emails_for_help = forms.Model

MultipleChoiceField(    queryset=User.objects.all(),    widget=forms.CheckboxSelectMultiple  )  class Meta:    model = Setupuser    fields = ["organization","emails_for_help"]

See more about python at

brainly.com/question/18502436

#SPJ1

ACCESS MORE