[Django学习] Django基础(6)_Field lookups

本文介绍了ORM中常用的四个函数(filter, exclude, get, dates),并详细解释了查询方式(如exact, contain, gt等)及双下划线(__)在字段查询、外键扩展和日期扩展中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 常见的三个函数

  1. filter

  2. exclude

  3. get

  4. dates(field, kind, order=’ASC’)

    (1) field should be the name of a DateField of your model.

    (2) kind should be either "year", "month" or "day". Each datetime.date object in the result list is “truncated” to the given type.

      • "year" returns a list of all distinct year values for the field.

      • "month" returns a list of all distinct year/month values for the field.

      • "day" returns a list of all distinct year/month/day values for the field.

    (3)order, which defaults to ’ASC’, should be either ’ASC’ or ’DESC’. This specifies how to order the results. 

二. 常见的查询方式

方式名大小写敏感说明
exact等于
iexact

contain

包含
icontain
in成员
range范围
gt大于
gte大于等于
lt小于
lte小于等于
startswith以...开始
istartswith
endswith以...结尾
istartswith

year,month,day,week_day,hour,minute,second

时间
isnull为空
regex正则表达式
iregex

三. 双下划线(__)的作用

  1.字段查询类型:field__lookuptype=value   

# 查询Blog中create_time < somedate的所有数据
Blog.objects.filter(create_time__lt=somedate)  

  2.外键的扩展:

  3.日期的扩展:   

# 查询Blog中create_time.year = someyear的数据
Blog.objects.filter(create_time__year=someyear)  

  4.链式查询:

#查询Blog中create_time.year < someyear的所有数据
Blog.objects.filter(create_time__year__lt=someyear)

  


注明:学习资料来自“再敲一行代码的个人空间”以及“杨仕航的博客”

转载于:https://www.cnblogs.com/AngryZe/p/9263684.html

插件使用配置(config)还是很灵活的,当然也是弊端,配置不当,效果就没了。 使用时候,重要的参数如下(此demo参数配置点击右键看源码): url: 'http://suggest.taobao.com/sug?code=utf-8&extras=1', queryName: 'q', //url?queryName=value,默认为输入框的name属性 jsonp: 'callback', //设置此参数名,将开启jsonp跨域功能(我要调淘宝数据,非跨域不可,淘宝的回调参数名就是callback),否则使用json数据结构 item: 'li', //下拉提示项目单位的选择器,默认一个li是一条提示,与processData写法相关。 processData: function(data){ }//自定义处理返回的数据,该方法可以return一个html字符串或jquery对象,将被写入到提示的下拉层中。 右键查看源码,将看到本demo所编写的processData函数是怎样的,所以这个参数是把如何表现交给你来做了,但别忘了配合 item 参数 getCurrItemValue: function($currItem){ }//定义如何去取得当前提示项目的值并返回值,插件根据此函数获取当前提示项目的值,并填入input中,此方法应根据processData参数来定义。 是的,如果你自定义了processData,这个参数恐怕也需要自定义,默认是获取$currItem.html(),你也可以return $currItem.attr('an attrName'); 右键查看源码,将看到本demo所编写的getCurrItemValue函数是怎样的 textchange: function($input){}, //不同于change事件在失去焦点触发,inchange依赖本插件,只要内容有变化,就会触发,并传入input对象 onselect: function($currItem){} //当选择了下拉的当前项目时执行,并传入当前项目。比如选择了某个提示项目,就提交表单。 sequential: 0, //按着方向键不动是否可以持续选择,默认不可以,设置值可以是任何等价的boolean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值