给出以下模型示例,查询模型时如何比较两个M2M字段?
class PaidModel(models.Model):
users = models.ManyToManyField(UserProfile)
paid_users = models.ManyToManyField(UserProfile)
我正在尝试查找哪些'PaidModel'实例的'用户'与'paid_users'不匹配(即已分配但未付费)。我尝试了F对象,如下所示:
unpaid = PaidModel.objects.exclude(users=F('paid_users'))
这将返回一个查询集,但两个M2M字段与预期不匹配。我试图避免遍历和“手动”查找不匹配的实例。
任何帮助将不胜感激。