Non sono sicuro se questo è ciò che stai chiedendo, ma puoi usare il through
chiama in ManyToManyField per definire una tabella intermedia:
class Organization(models.Model):
name = models.CharField(max_length=32)
projects = models.ManyToManyField(Project, through="ProjectOrganisation")
class Project(models.Model):
#Stuff Here
class ProjectOrganisation(models.Model):
project = models.ForeignKey(Project)
organization = models.ForeignKey(Organization)
#Other Fields Here
Django lo fa automaticamente con molti campi comunque, solo se vuoi aggiungere campi extra, questo è il modo per farlo.