批量删除多对多条目?

问题描述 投票:0回答:1

考虑到我有 1000 个用户,这些用户与“公司”存在多对多关系。

现在我希望从公司列表中删除所有“不活跃”的用户(占大多数)。

我可以使用一个技巧

remove
:

for user in User.filter(active=False):
    Company.customers.remove(user)

然而,这也会造成数千次数据库点击,使其变得非常慢。有没有办法在 django 中做到这一点?不去rawsql?

django postgresql orm
1个回答
0
投票

删除批量中的元素:

Company.customers.remove(*User.objects.filter(active=False))
© www.soinside.com 2019 - 2024. All rights reserved.