我就废话不多说了,大家还是直接看代码吧!
contacts = ExternalContacts.objects.filter(MobileKey=mobile_obj) house = House.objects.none() for contact in contacts: house = house | contact.house_set.all() return house.distinct()合并出来的queryset,再去重。
补充知识:Python——深入理解urllib、urllib2及requests(requests不建议使用?)
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议[1] 。Python语法简洁而清晰,具有丰富和强大的类库。
urllib and urllib2 区别
urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。
urllib2.urlopen accepts an instance of the Request class or a url, (whereas urllib.urlopen only accepts a url 中文意思就是:urllib2.urlopen可以接受一个Request对象或者url,(在接受Request对象时候,并以此可以来设置一个URL 的headers),urllib.urlopen只接收一个url
urllib 有urlencode,urllib2没有,这也是为什么总是urllib,urllib2常会一起使用的原因
r = Request(url='http:///user/delete') resp.json() # 假如返回的是json数据 resp.text #返回的不是text数据 resp.headers['content-type'] #返回text/html;charset=utf-8 f = open('request_index.html', 'w') f.write(page.encode('utf8')) #test 发现requests抓下来的页面必须要编码\ #写入,(抓下来的是unicode),urllib和urllib2抓下来可以直接写入, #因为这两者抓下来的page是strIII. 其他功能特性
国际化域名和 URLs
Keep-Alive & 连接池
持久的 Cookie 会话
类浏览器式的 SSL 加密认证
基本/摘要式的身份认证
优雅的键/值 Cookies
自动解压
Unicode 编码的响应体
多段文件上传
连接超时
支持 .netrc
适用于 Python 2.6—3.4线程安全
IV. requests不是python自带的库,需要另外安装 easy_install or pip install
V. requests缺陷:直接使用不能异步调用,速度慢(from others)。官方的urllib可以替代它。
VI. 个人不建议使用requests模块
更详细的相关介绍
urllib 官网
urllib2 官网
以上这篇django queryset 去重 .distinct()说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。