day 68 增删改查 语法

1 普通正则

2 分组正则  

url(r'/blog/(\d+)/(\d+)',views.blog)     blog(request,arq1,arq2) 按照位置传参

3 分组命名

url(r'/blog/(?P<year>\d+)/(?P<month>\d+)',views.blog)     blog(request,year,month)

4  用name 指定别名

url(r'/blog/(?P<year>\d+)/(?P<month>\d+)',views.blog,name ='blog')     blog(request,year,month

涉及到了反向解析URL

4-1 在html里面:{%  url 'blog' 2012 12%}

4-2from django.urls import reverse reverse ('blog',arg=(2013,11))

5 用namespace 指定命名空间
url(r'/app01/',inclue(app01.urls,namespace='app01)) 
 涉及到了反向解析URL
5-1 HTML 里面{% url 'app01:blog' 2012 11%}
5-22 在views reverse('app01:blog' ,arg=(2010,33))

 --------------

通过get取值 和通关过分组取值的用法和对比

 

get 和分组取值

 

1 HTML 里面{% url 'app01:blog' 2012 11%}
2 在views reverse('app01:blog' ,arg=(2010,33))

要在Django Console 打印出有sq语句 在django 项目的配置信息中加上这个日志 而且引用

 

logging

 

 

models 中插入这句在定义的类的下面的缩进行里 这样打印出来的结果对象就会是实际的内容
  def __str__(self):
    return '{}{}'.format(self.cname,self.first_day)
单表查询的增删改查 
单表查询的API 介绍 共13条
1 返回QuerySet对象的有8条
1 all():全部 2 filter():过滤 3 exclude():不包括 
4 value()值 5value_list() 值的列表 6 order_by() 排序正序
7 reverse() 反转 8 distinct() 去重

 

 

 


models.Ban_list.objects.filter(id=7)
<QuerySet [<Ban_list: Linux 1212期2015-01-29>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` = 7 LIMIT 21; args=(7,)
(0.000) SELECT VERSION(); args=None
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` = 7 LIMIT 21; args=(7,)

 

.all()
filter() 支持链式操作
exclude() 不包含
.value() 单列 多列 是字典
.value_list() 元祖
.order_by() 排序
all().order_by('id)默认id排序 -id反序
.reverse() 和order_by('-id)
.distinct() 去重 保留前者

2返回数字的: 1 count():计数行数

.count() 计算多少行

3返回布尔值的:1exists():是否存在


4 返回的是对象的:1 get() 得到的是一个对象 2 first():第一个对象 3 last() :最后一个对象

.get() 取单个对象
.first() .last() 对象

以下都是在左下角Python Console

 

 1 Queryset 对象8个

 

models.Ban_list.objects.get(id=7)
(0.001) SELECT @@SQL_AUTO_IS_NULL; args=None
(0.001) SELECT VERSION(); args=None
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` = 7; args=(7,)
<Ban_list: Linux 1212期2015-01-29>


models.Ban_list.objects.all()
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` LIMIT 21; args=()
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>]>
(0.001) SELECT @@SQL_AUTO_IS_NULL; args=None
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` LIMIT 21; args=()


models.Ban_list.objects.filter(id=7)
<QuerySet [<Ban_list: Linux 1212期2015-01-29>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` = 7 LIMIT 21; args=(7,)
(0.000) SELECT VERSION(); args=None
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` = 7 LIMIT 21; args=(7,)


models.Ban_list.objects.filter(cname='大数据1班').first()
<Ban_list: 大数据1班2020-12-01>
(0.061) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`cname` = '大数据1班' ORDER BY `app0001_ban_list`.`id` ASC LIMIT 1; args=('大数据1班',)
models.Ban_list.objects.exclue(cname='大数据1班')
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'Manager' object has no attribute 'exclue'


models.Ban_list.objects.exclude(cname='大数据1班')
(0.005) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)


models.Ban_list.objects.exclude(cname='大数据1班').values('cname')
<QuerySet [{'cname': 'Python 18期'}, {'cname': 'Linux 1212期'}, {'cname': 'Python 11期'}, {'cname': 'Linux 4期'}, {'cname': 'Python 19期'}, {'cname': '大数据2班'}]>
(0.002) SELECT `app0001_ban_list`.`cname` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)
(0.001) SELECT `app0001_ban_list`.`cname` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)


models.Ban_list.objects.exclude(cname='大数据1班').values('cname','first_day')
(0.001) SELECT `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)
<QuerySet [{'cname': 'Python 18期', 'first_day': datetime.date(2023, 10, 19)}, {'cname': 'Linux 1212期', 'first_day': datetime.date(2015, 1, 29)}, {'cname': 'Python 11期', 'first_day': datetime.date(2012, 9, 1)}, {'cname': 'Linux 4期', 'first_day': datetime.date(2019, 12, 23)}, {'cname': 'Python 19期', 'first_day': datetime.date(2016, 10, 19)}, {'cname': '大数据2班', 'first_day': datetime.date(2017, 10, 28)}]>
(0.001) SELECT `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)


models.Ban_list.objects.exclude(cname='大数据1班').values_list('cname','first_day')
(0.003) SELECT `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)
<QuerySet [('Python 18期', datetime.date(2023, 10, 19)), ('Linux 1212期', datetime.date(2015, 1, 29)), ('Python 11期', datetime.date(2012, 9, 1)), ('Linux 4期', datetime.date(2019, 12, 23)), ('Python 19期', datetime.date(2016, 10, 19)), ('大数据2班', datetime.date(2017, 10, 28))]>
(0.001) SELECT `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') LIMIT 21; args=('大数据1班',)


models.Ban_list.objects.exclude(cname='大数据1班').order_by('first_day')
<QuerySet [<Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 18期2023-10-19>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') ORDER BY `app0001_ban_list`.`first_day` ASC LIMIT 21; args=('大数据1班',)
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE NOT (`app0001_ban_list`.`cname` = '大数据1班') ORDER BY `app0001_ban_list`.`first_day` ASC LIMIT 21; args=('大数据1班',)


models.Ban_list.objects.all().order_by('first_day')
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`first_day` ASC LIMIT 21; args=()
<QuerySet [<Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: 大数据1班2018-01-10>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Python 18期2023-10-19>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`first_day` ASC LIMIT 21; args=()


models.Ban_list.objects.all()
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` LIMIT 21; args=()
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: 大数据1班2018-01-10>]>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` LIMIT 21; args=()


models.Ban_list.objects.all().order_by('id')
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` ASC LIMIT 21; args=()
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: 大数据1班2018-01-10>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` ASC LIMIT 21; args=()


models.Ban_list.objects.all().order_by('-id')
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` DESC LIMIT 21; args=()
<QuerySet [<Ban_list: 大数据1班2018-01-10>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: Python 19期2016-10-19>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 11期2012-09-01>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: Python 18期2023-10-19>]>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` DESC LIMIT 21; args=()


models.Ban_list.objects.all().reverse()
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: 大数据1班2018-01-10>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` LIMIT 21; args=()
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` LIMIT 21; args=()


models.Ban_list.objects.all().order_by('id').reverse()
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` DESC LIMIT 21; args=()
<QuerySet [<Ban_list: 大数据1班2018-01-10>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: Python 19期2016-10-19>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 11期2012-09-01>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: Python 18期2023-10-19>]>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` DESC LIMIT 21; args=()


models.Ban_list.objects.values('cname').distinct()
(0.003) SELECT DISTINCT `app0001_ban_list`.`cname` FROM `app0001_ban_list` LIMIT 21; args=()
<QuerySet [{'cname': 'Python 18期'}, {'cname': 'Linux 1212期'}, {'cname': '大数据1班'}, {'cname': 'Python 11期'}, {'cname': 'Linux 4期'}, {'cname': 'Python 19期'}, {'cname': '大数据2班'}]>
(0.002) SELECT DISTINCT `app0001_ban_list`.`cname` FROM `app0001_ban_list` LIMIT 21; args=()

 

2 数字的一个
models.Ban_list.objects.all().count()
8
(0.001) SELECT COUNT(*) AS `__count` FROM `app0001_ban_list`; args=()

3对象的3个
models.Ban_list.objects.all().first()
<Ban_list: Python 18期2023-10-19>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` ASC LIMIT 1; args=()


models.Ban_list.objects.all().last()
<Ban_list: 大数据1班2018-01-10>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` ORDER BY `app0001_ban_list`.`id` DESC LIMIT 1; args=()
models.Ban_list.objects.get(id=7)
<Ban_list: Linux 1212期2015-01-29>
(0.002) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` = 7; args=(7,)

 

models.Ban_list.objects.filter(first_day__month=12)
<QuerySet [<Ban_list: 大数据1班2020-12-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: linux 12期2017-12-12>]>
(0.014) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 LIMIT 21; args=(12,)
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 LIMIT 21; args=(12,)
models.Ban_list.objects.filter(first_day__month=12,first_day__year=2018)
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE (EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 AND `app0001_ban_list`.`first_day` BETWEEN '2018-01-01' AND '2018-12-31') LIMIT 21; args=(12, '2018-01-01', '2018-12-31')
<QuerySet []>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE (EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 AND `app0001_ban_list`.`first_day` BETWEEN '2018-01-01' AND '2018-12-31') LIMIT 21; args=(12, '2018-01-01', '2018-12-31')

 

逻辑运算

models.Ban_list.objects.filter(id__gt=1)   大于
(0.076) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` > 1 LIMIT 21; args=(1,)
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>, <Ban_list: 大数据1班2020-12-01>, <Ban_list: Python 11期2012-09-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: Python 19期2016-10-19>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: 大数据1班2018-01-10>]>
(0.014) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` > 1 LIMIT 21; args=(1,)


models.Ban_list.objects.filter(id__lt=10)  小于
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>]>
(0.017) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` < 10 LIMIT 21; args=(10,)
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` < 10 LIMIT 21; args=(10,)


models.Ban_list.objects.filter(id__in=[2,7,2]) 包含里面
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` IN (2, 7) LIMIT 21; args=(2, 7)
<QuerySet [<Ban_list: Python 18期2023-10-19>, <Ban_list: Linux 1212期2015-01-29>]>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`id` IN (2, 7) LIMIT 21; args=(2, 7)

查找

models.Ban_list.objects.filter(cname__contains='大数据')    模糊查找
(0.030) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`cname` LIKE BINARY '%大数据%' LIMIT 21; args=('%大数据%',)
<QuerySet [<Ban_list: 大数据1班2020-12-01>, <Ban_list: 大数据2班2017-10-28>, <Ban_list: 大数据1班2018-01-10>]>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`cname` LIKE BINARY '%大数据%' LIMIT 21; args=('%大数据%',)

 

不区分大小写的cname__icontains

models.Ban_list.objects.filter(cname__icontains='linux')
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`cname` LIKE '%linux%' LIMIT 21; args=('%linux%',)
<QuerySet [<Ban_list: Linux 1212期2015-01-29>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: linux 12期2017-12-12>]>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`cname` LIKE '%linux%' LIMIT 21; args=('%linux%',)

关于时间查找

import datetime
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE `app0001_ban_list`.`cname` LIKE '%linux%' LIMIT 21; args=('%linux%',)
datetime.datetime.now()
datetime.datetime(2018, 1, 22, 21, 7, 48, 987579)


datetime.datetime.now().year
2018


datetime.datetime.now().day
22

 

models.Ban_list.objects.filter(first_day__month=12)
<QuerySet [<Ban_list: 大数据1班2020-12-01>, <Ban_list: Linux 4期2019-12-23>, <Ban_list: linux 12期2017-12-12>]>
(0.014) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 LIMIT 21; args=(12,)
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 LIMIT 21; args=(12,)


models.Ban_list.objects.filter(first_day__month=12,first_day__year=2018)
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE (EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 AND `app0001_ban_list`.`first_day` BETWEEN '2018-01-01' AND '2018-12-31') LIMIT 21; args=(12, '2018-01-01', '2018-12-31')
<QuerySet []>
(0.001) SELECT `app0001_ban_list`.`id`, `app0001_ban_list`.`cname`, `app0001_ban_list`.`first_day` FROM `app0001_ban_list` WHERE (EXTRACT(MONTH FROM `app0001_ban_list`.`first_day`) = 12 AND `app0001_ban_list`.`first_day` BETWEEN '2018-01-01' AND '2018-12-31') LIMIT 21; args=(12, '2018-01-01', '2018-12-31')

 

转载于:https://www.cnblogs.com/xiaoluoboer/p/8331180.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/453616.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/453616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编译器入门 语法分析器 java_从零开始写个编译器吧 - Parser 语法分析器

Parser(语法分析器)的编写相对于 Tokenizer (词法分析器)要复杂得多&#xff0c;因此&#xff0c;在编写之前可能也会铺垫得更多一些。当然&#xff0c;本系列旨在“写出”一个编译器&#xff0c;所以理论方面只会简单介绍 tao 语言所涉及的部分。之前的几章中&#xff0c;我纯…

017——数组(十七) asort ksort rsort arsort krsort

<?php /*** 数组 asort ksort rsort arsort krsort*///asort()对数组按值排序&#xff0c;保留键名&#xff1a; /*$arrarray(bbs_url>bbs.lantian.com,web_url>www.lantian.com,bbs_name>免费视频教程,www_name>PHP项目开发, ); asort($arr); print_r($arr);…

v4l打开video设备 ,执行VIDIOC_DQBUF,出现Resource temporarily unavailable 问题

如果你在执行VIDIOC_DQBUF突然提示以下错误&#xff1a; error: VIDIOC_DQBUF: Resource temporarily unavailable 那么很可能是你使用非阻塞方式打开设备文件的造成的。 Resource temporarily unavailable是一种EAGAIN的错误。EAGAIN是较常见的一种错误(比如用在非阻塞操作…

ubuntu下无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

sudo apt-get install git E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/)&#xff0c;是否有其他进程正占用它&#xff1f; 当执行sudo apt-get相关的命令&#xff0c;会显示上面类似的错误 参考别人的解决方法是 sudo r…

java get方法不序列化_Java中的Json序列化,不容忽视的getter

在开发的过程中&#xff0c;经常会碰到和自己预期不一样的情况。有的时候自己去研究一下还是很有趣的。这两天在写java web的时候&#xff0c;碰到了一个对象序列化的问题。问题重现public class AjaxJson {private boolean success;private String msg;private Object obj;pri…

mysql 通过echo的方式写入数据库 中文乱码解决方案

echo "set names utf8;insert into xxx (path, sn, time, flag) values ($wav, $sn, $secs, op);" | MYSQL echo "set names utf8;insert into xxx (path, sn, time, flag) values ($wav, $sn, $secs, op);" 前面增加 set names utf8;

getParameter和getAttribute的区别

转自http://blog.csdn.net/java_xiaobin/article/details/45363897 1.getAttribute是取得jsp中 用setAttribute設定的attribute 2.parameter得到的是string&#xff1b;attribute得到的是object 3.request.getParameter()方法传递的数据&#xff0c;会从Web客户端传到Web服务器…

java int字母,从Java中获取int,也包含字母

How can I get the int value from a string such as 423e - i.e. a string that contains a number but also maybe a letter?Integer.parseInt() fails since the string must be entirely a number.解决方案Unless youre talking about base 16 numbers (for which theres …

Spring-data-jpa常用方法

转载于:https://www.cnblogs.com/summary-2017/p/7904926.html

面试问题汇总 精选 分析 解答 职业规划 part 1

C/C/C#面试题精选&#xff08;1&#xff09; 题目&#xff08;一&#xff09;&#xff1a;C中我们可以用static修饰一个类的成员函数&#xff0c;也可以用const修饰类的成员函数&#xff08;写在函数的最后表示不能修改成员变量&#xff0c;不是指写在前面表示返回值为常量&am…

java byte md5_Java开发网 - byte[]按自定义编码转换成String(MD5)

差不多了&#xff0c;这样应该就可以了&#xff0c;剩下的就是扩展能接受的类型了。import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class HashPasswords {public String getPassword(byte[] input) {byte[] digest;synchronized (…

Java线程生命周期

当你需要使用Java线程在多线程环境下进行编程时&#xff0c;理解Java的线程周期与线程的状态是非常重要的。通过实现Runnale接口或者继承Thread类&#xff0c;我们可以创建线程&#xff0c;为了启动一个线程&#xff0c;我们需要创建一个Thread对象&#xff0c;并且调用它的sta…

转,JSON解析2

JSON 使用讲解 这篇文章讲解了&#xff0c;JSON的介绍以及使用GSON解析。今天&#xff0c;我们就在Android项目中使用两种方式解析JSON数据。如果你对JSON&#xff0c;还不熟悉&#xff0c;那么请看JSON 使用讲解。 一.搭建服务以及制造JSON数据。 1.服务器选择的Tomcat&#x…

面试问题汇总 精选 分析 解答 职业规划 part 2

面试困惑问与答&#xff08;2&#xff09;——感觉挺好&#xff0c;为啥被拒了&#xff1f; 问&#xff1a;技术面试的时候&#xff0c;题目挺简单的&#xff0c;我觉得自己都做出来了。可最后怎么还是被拒了啊&#xff1f; 答&#xff1a;面试被拒有很多种可能&#xff0c;比…

js顺序加载

2019独角兽企业重金招聘Python工程师标准>>> js想要顺序加载&#xff0c;分开js代码块&#xff0c;jsp页面在加载的时候&#xff0c;是顺序加载&#xff0c;遇到<script></script>代码块&#xff0c;先加载完成&#xff0c;然后继续往下&#xff0c;遇到…

java swingworker_Java中的SwingWorker

L&#xff06;F物质的输出(因为您对EDT的不确定性有待测试)run:JButton openDialog >>> Is there EDT ??? trueWorker started >>> Is there EDT ??? falsewaiting 30secondsWorker endeded >>> Is there EDT ??? falsebefore JOptionP…

持续交付与滚动升级

介绍 持续交付是频繁对软件应用程序持续更新的概念. 这个想法使在大量频繁的更新面前, 你不必等待在一个指定的特殊时间点, 并且使你的组织在响应过程中变得更好. 一些 Ansible 用户每小时都在部署更新给他们的最终用户甚至更加频繁 – 每时每刻都有代码修改的批准. 要实现这一…

2-05 使用固态存储SSD或PCIe卡

在大量并发的情况下&#xff0c;才能体现固态磁盘的吞吐量&#xff0c;在大并发下提供良好随机io的性能&#xff0c;这正是关系型数据库所需要的&#xff0c;相对应机械磁盘&#xff0c;固态磁盘更容易损坏&#xff08;第三点是固态磁盘的缺点&#xff09;&#xff0c;由于固态…

面试问题汇总 精选 分析 解答 职业规划 part 3

《剑指Offer——名企面试官精讲典型编程题》已经出版 非常感谢博客上的读者&#xff0c;是大家的关心、支持和鼓励让我有信心写完这本书并最终出版发行&#xff08; china-pub互动网、 亚马逊卓越网、 淘宝网、 京东网、 当当网上有售&#xff09;。网友们的鼓励让我在 博客上的…

java 分布式rpc框架_分布式RPC框架Apache Dubbo(一)

4 Dubbo快速入门Dubbo作为一个RPC框架&#xff0c;其最核心的功能就是要实现跨网络的远程调用。本小节就是要创建两个应用&#xff0c;一个作为服务的提供方&#xff0c;一个作为服务的消费方。通过Dubbo来实现服务消费方远程调用服务提供方的方法。4.1 服务提供方开发开发步骤…