Django从ManyToMany关系中删除对象

我怎么会删除一个对象从多对多的关系,而不删除实际的对象?

例:

我有模特的MoodsInterest

“情绪”有很多领域的interests (这是一个models.ManyToManyField(Interest) 。许多许多领域models.ManyToManyField(Interest) )。

我创build了一个名为my_moodMoods实例。 在my_moods的兴趣领域,我有我的兴趣,意思

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

如何在不删除模型实例的情况下从my_mood中删除my_interest? 换句话说,如何在不影响相关模型的情况下移除关系?

 my_mood.interests.remove(my_interest) 

Django的关系文件

注意:你可能必须使用Django的QuerySet API获取my_mood和my_instance的实例,然后才能执行这段代码。

如果您需要删除所有M2M引用而不触及底层对象,则从另一个方向工作会更容易:

 interest.mood_set.clear()