【问题标题】:Catch exception when adding to manytomany field in django在 django 中添加到 manytomany 字段时捕获异常
【发布时间】:2019-06-01 11:39:10
【问题描述】:

所以我要在我的 manytomany 字段中添加一个项目列表。

如果myModelInstance.myM2MField中已经​​存在item1,则不再添加。

myItems = [item1, item2] 

try:
    myModelInstance.myM2MField.add(*myItems)
except Exception as e:
    return e

我想获取未添加的项目列表并将其返回。这可能吗?

【问题讨论】:

  • 即使已经存在,Django也不会再添加(会默默失败)
  • 是的,我知道,但我想捕捉到无声的失败并返回响应。未添加,因为它已经存在。
  • 我可以在中间表上使用 create 方法做到这一点

标签: django django-models django-rest-framework many-to-many


【解决方案1】:

检查它是否已经存在并引发错误。

如果 myModelInstance.myM2MField.all():

提高()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2020-08-17
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    相关资源
    最近更新 更多