I have a M2M relationship between two Models which uses an intermediate model. For the sake of discussion, let\'s use the example from the manual:
class Pers
You must extend CreateView
:
from django.views.generic import CreateView
class GroupCreate(CreateView):
model=Group
and override the form_valid()
:
from django.views.generic.edit import ModelFormMixin
from django.views.generic import CreateView
class GroupCreate(CreateView):
model = Group
def form_valid(self, form):
self.object = form.save(commit=False)
for person in form.cleaned_data['members']:
membership = Membership()
membership.group = self.object
membership.person = person
membership.save()
return super(ModelFormMixin, self).form_valid(form)
As the documentation says, you must create new membership
s for each relation between group
and person
.
I saw the form_valid
override here:
Using class-based UpdateView on a m-t-m with an intermediary model