Django removing object from ManyToMany relationship

Viewed 140145

How would I delete an object from a Many-to-Many relationship without removing the actual object?

Example:

I have the models Moods and Interest.

Mood has a many-to-many field interests (which is a models.ManyToManyField(Interest)).

I create an instance of Moods called my_mood. In my_moods's interests field I have my_interest, meaning

>>> my_mood.interests.all()
[my_interest, ...]

How do I remove my_interest from my_mood without deleting either model instance? In other words, how do I remove the relationship without affecting the related models?

4 Answers

model.field.remove(object_you_want_to_remove)
In this case use: my_mood.interests.remove(my_interest)

Related