基于Django文档,我应该能够一次传递多个对象以添加到多个关系中,但是我得到了一个

* TypeError:不可损坏的类型:"列表"

当我试图传递在列表中强制转换的Django查询集时.传递查询集或ValuesListQueryset似乎也失败.有比使用for循环更好的方法吗?

推荐答案

使用:object.m2mfield.add(*items),如documentation:

add()接受任意数量的参数,而不是参数列表.

add(obj1, obj2, obj3, ...)

要将该列表扩展为参数,请使用*

add(*[obj1, obj2, obj3])

附录:

Django没有为每件商品调用obj.save(),而是使用bulk_create().

Django相关问答推荐

测试DRF中需要授权头

Django没有显示变量

Django中的DateTimeField到DateField

从一个组中获取所有用户 - Django

如何在 Django 中将下一个 8 月 1 日添加为 DateTimeField 默认值

如何获得用户权限?

AttributeError:'Manager'对象在Django中没有属性'get_by_natural_key'错误?

Django Calendar日历小部件?

获取 Django 中的缓存键列表

在 Django 中,您可以向查询集添加方法吗?

Apache + mod_wsgi 与 nginx + gunicorn

目前使用 Django Evolution,South是否更好,值得切换?

Django BigInteger自动增量字段作为主键?

Django:在模型管理器中获取模型的表名?

Django 1.9 中 django.db.models.loading.get_model() 的类似功能是什么?

Python:获取异常的错误消息

这是验证 Django 模型字段的方法吗?

Django 应用程序中的版本号

Django 发送邮箱

Django - 保存新对象时如何获取 self.id?