Django ORM:many_to_many.extend(some_queryset)
Django ORM: many_to_many.extend(some_queryset)
我阅读了 RelatedManager 的文档。
我找不到扩展多对多关系的方法。
示例(这是我的 "dream" 的样子):
my_user.groups.extend(my_group_queryset)
我知道我可以使用这个:
for group in my_group_queryset:
my_user.groups.add(group)
但我更喜欢在数据库中循环而不是在我的代码中循环 (guidelines)。
有没有办法在一个方法调用中将多个对象添加到多对多关系中?
您可以通过解包 查询集批量添加项目,然后在单个 .add(…)
[Django-doc] 调用中添加所有这些元素:
my_user.groups.add(<b>*</b>my_group_queryset)
注意前面的星号 (*
)。这将因此解压缩查询集,并将每个项目作为单独的参数传递给 .add(…)
函数。
我阅读了 RelatedManager 的文档。
我找不到扩展多对多关系的方法。
示例(这是我的 "dream" 的样子):
my_user.groups.extend(my_group_queryset)
我知道我可以使用这个:
for group in my_group_queryset:
my_user.groups.add(group)
但我更喜欢在数据库中循环而不是在我的代码中循环 (guidelines)。
有没有办法在一个方法调用中将多个对象添加到多对多关系中?
您可以通过解包 查询集批量添加项目,然后在单个 .add(…)
[Django-doc] 调用中添加所有这些元素:
my_user.groups.add(<b>*</b>my_group_queryset)
注意前面的星号 (*
)。这将因此解压缩查询集,并将每个项目作为单独的参数传递给 .add(…)
函数。