在Django的ManyToMany关系中按id添加对象

时间:2016-05-29 15:02:10

标签: python sql django many-to-many

可以使用my_field.add(my_instance)填充

Django's ManyToMany field,但据我了解,实际上只需要my_instance.id来执行相应的SQL查询。

如果我想通过其ID添加对象,我可以使用my_field.add(MyModel.objects.get(id=id)),但这将生成两个查询而不是一个。我怎样才能避免这个额外的查询?

1 个答案:

答案 0 :(得分:19)

虽然the documentation of the add method没有提到它,但您实际上可以直接将ID传递给它,如下所示:

my_instance.add(id)

当然,这仅在主键用作关系的标识符(默认行为)时才有效。