I have an M2M relationship between two Models using an intermediate model. For discussion, let me use an example from the manual:
class Person(models.Model):
name = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
I would like to use Django Class based views to avoid writing CRUD processing views. However, if I try to use the default CreateView, it does not work:
class GroupCreate(CreateView):
model=Group
This displays a form with all the fields of the Group object and gives a selection field for the member field, which would be correct for a simple M2M relationship. However, there is no way to specify date_joined or invite_reason, and submitting the form gives the following AttributeError attribute:
" ManyToManyField, . Memberhip Manager."
CreateView , mixins? , , M2M , .