Django 从多对多关系中删除对象

标签 django many-to-many

如何在不删除实际对象的情况下从多对多关系中删除对象?

示例:

我有模型 MoodsInterest

Mood 有一个多对多字段 interests(这是一个 models.ManyToManyField(Interest))。

我创建了一个名为 my_moodMoods 实例。在 my_moods 的兴趣字段中,我有 my_interest,意思是

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

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

最佳答案

my_mood.interests.remove(my_interest)

Django's Relations Docs

注意:您可能需要使用 Django's QuerySet API 获取 my_moodmy_interest 的实例在执行此代码之前。

关于Django 从多对多关系中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333068/

相关文章:

python - 如何在多个应用程序中编写自定义 django manage.py 命令

ruby-on-rails - 显示与所选产品所在类别相同的随机产品图像。ROR 应用程序

django 之间的区别 - 一对一、多对一和多对多

user-interface - 使用多对多关系编辑数据的 GUI 模式

python - 我应该使用什么模型字段类型来存储多个 long 类型?

json - Django:使用 JSON 数据创建和保存模型

django - 使用 Django 1.8 ORM 跨多个表的注释

python - 从现有模型中分解出新模型时创建迁移

django - Django ManyToMany通用“直通”模型

Mysql多对多关系获取 'and'和 'not'数据的数据