小编典典

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

sql

可以使用来填充Django的ManyToMany字段my_field.add(my_instance),但据我了解,my_instance.id实际上只需要执行相应的SQL查询即可。

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


阅读 197

收藏
2021-04-22

共1个答案

小编典典

尽管add方法的文档中未提及它,但实际上您可以直接将id传递给它,如下所示:

my_instance.add(id)

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

2021-04-22