假设我有以下型号:
class User(models.Model):
blogs = model.ManyToManyField(Blog)
为多个用户向该字段添加博客的最佳方式是,例如我想向所有用户添加一个名为博客的博客实例(即User.object.all()
)。我是否必须单独迭代每个结果,或者有没有办法一次完成所有这些?
感谢。
答案 0 :(得分:6)
您可以在直通表上执行bulk_create
。例如:
blog = Blog.objects.get(…)
users = User.object.all()
User.blogs.through.objects.bulk_create(
[User.blogs.through(user_id=user.pk, blog_id=blog.pk) for user in users]
)
这将进行一次数据库查询。