如何获得Django中两个查询的区别 [英] How to get the difference of two querysets in Django

查看:129
本文介绍了如何获得Django中两个查询的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须要查询。 alllists and subscriptionlists

  alllists = List.objects.filter(datamode ='A')
subscriptionlists = Membership.objects .filter(member__id = memberid,datamode ='A')

我需要一个名为unsubscriptionlist的查询,拥有所有记录,除了订阅列表中的记录。如何实现这一点。我上了谷歌,但它也没有工作。请帮助

解决方案

您应该可以使用设置的操作差异来帮助:

  set(alllists).difference(set(subscriptionlists))


I have to querysets. alllists and subscriptionlists

alllists = List.objects.filter(datamode = 'A')
subscriptionlists = Membership.objects.filter(member__id=memberid, datamode='A')

I need a queryset called unsubscriptionlist, which possess all records in alllists except the records in subscription lists. How to achieve this. I googled, but it didnt worked either. Please help

解决方案

You should be able to use the set operation difference to help:

set(alllists).difference(set(subscriptionlists))

这篇关于如何获得Django中两个查询的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆