如何在 Django 中获取 2 个查询集之间的差异

How to get difference between 2 querysets in django

我的模型中有 2 个字段,即

class Payment(models.Model):
    tasks_requested = models.ManyToManyField(Task, null=True, blank=True)
    tasks_accepted = models.ManyToManyField(Task, null=True, blank=True, related_name='tasks_accepted')

当有人从管理面板创建对象时,我想了解模型保存方法中这些查询集的区别

task_left = self.tasks_requested.all() - self.tasks_accepted.all()

以上代码行不通,谁能推荐一个正确的方法

通过首先将我的查询集转换为集合,然后差异方法给出了我想要的输出,最终解决了这个问题。这是我的代码

qs1 = self.tasks_requested.all()
qs2 = self.tasks_accepted.all()
task_left = set(qs1).difference(set(qs2))