Here you have to make a choice in denormalizationyour model if you think that another blow to the database in a row in your list of changes is unacceptable.
The question is how to maintain this ManyToMany relationship? Perhaps you can go with a synchronized JSONserialized object in CharFieldor TextFieldto serialize a subset of the fields ( pkand name) you need .
But be careful with side effects on performance when adding a potentially large column, requesting a deferral method is your friend.