1、dajngo ORM查询中select_related的作用

select_related()方法一次性的把数据库关联的对象都查询出来放入对象中,再次查询时就不需要再连接数据库,节省了后面查询数据库的次数和时间。主要用于外键查询。

	blogobj = Blog.objects.filter(site=site).select_related('user').first()

2、博客主题的定制

将各个模块的css样式固定,然后通过.css文件导入,可以在数据里面设置.css文件的名字在模板中通过 link rel="stylesheet" href="/static/css/{{blogobj.theme}}.css"

3、从数据库中按照年月筛选时间,及数量(这里踩过一个坑!汗!)

使用原生sql语句

首先在使用mysql语句的时候不能使用 GROUP BY 的解决方法(sqlite不存在此问题)
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.:解决办法:
mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
第二:在mysql中时间格式化函数为date_format(ctime,"%%Y-%%m")这里两个%
是为了避免django出现字符串参数确实报错,如果不加%会报错:
return "<%s: %s>" % (self.__class__.__name__, self.query)
File "C:\Python36\lib\site-packages\django\db\models\sql\query.py", line 110, in __str__
return self.sql % self.params_type(self.params)
TypeError: not enough arguments for format string
第三使用原生语句:
select nid ,count(nid) as num, date_format(ctime,"%Y-%m") as create_time from repository_article group by date_format(ctime,"%%Y-%%m");
使用sqlite的写法是:
'select nid, count(nid) as num,strftime("%Y-%m",create_time) as ctime from repository_article group by strftime("%Y-%m",create_time)') 这里date_format(ctime,"%Y-%m") as create_time千万不能写成date_format(ctime,"%Y-%m") as ctime:因为本身ctime就是一个模块,这里如果写成ctime,最后查询的时候会报错:
File "C:\Python36\lib\site-packages\pytz\__init__.py", line 222, in localize
if dt.tzinfo is not None:
AttributeError: 'str' object has no attribute 'tzinfo'

最新文章

  1. ECMAScript6的Promise对象
  2. BackTrack5-r3安装前需要的准备及说明
  3. java获取url中的参数
  4. 少年Vince之遐想
  5. Windows系统的安装
  6. Swift3.0服务端开发(四) MySQL数据库的连接与操作
  7. JSP 初始化参数
  8. Tornado+MySQL模拟SQL注入
  9. Mysql官方文档翻译系列-7.3.1 Establishing a Backup Policy
  10. vs code使用Git
  11. 自动化测试(web测试selenium框架)
  12. PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类
  13. Django模板语言相关内容 Djan
  14. Android 追加写入文件的三种方法
  15. Maven+Eclipse+SparkStreaming+Kafka整合
  16. lunix salt 用法
  17. Python:zip()函数
  18. Oracle 起诉 Google 事件
  19. File 操作
  20. 备忘:CSS术语词汇表——张鑫旭

热门文章

  1. jquery even选择器 语法
  2. 织梦DedeCms技术资料
  3. Spring Cloud架构教程 (二)Hystrix监控数据聚合
  4. [HNOI2015]菜肴制作贪心的证明
  5. 简单记录一下vue生命周期及 父组件和子组件生命周期钩子执行顺序
  6. 关于viewpager的滑动问题
  7. 1、安装Scrapy
  8. JavaScript 文件拖拽上传插件 dropzone.js 介绍
  9. 在linux下搭建go环境
  10. ubuntu 18.04更换源