Django设置Postgresql的操作
作者:kongxx 发布时间:2021-10-23 09:59:56
这里假定Postgresql数据库已经装好。
首先安装依赖的包
$ sudo yum install python-devel postgresql-devel
如果使用virtualenv,先source一下virtualenv下的“ . bin/activate”,然后运行
$ pip install psycopg2
修改settings.py文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '...',
'USER': '...',
'PASSWORD': '...',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
测试
python manage.py shell
>>> from django.db import connection
>>> cursor = connection.cursor
如果没有返回任何错误说明数据库连接成功。
补充知识:Django orm 常用查询筛选总结
本文主要列举一下django orm中的常用查询的筛选方法:
大于、大于等于
小于、小于等于
in
like
is null / is not null
不等于/不包含于
其他模糊查询
model:
class User(AbstractBaseUser, PermissionsMixin):
uuid = ShortUUIDField(unique=True)
username = models.CharField(max_length=100, db_index=True, unique=True, default='')
schoolid = models.CharField(max_length=100, null=True, blank=True, default='')
classid = models.CharField(max_length=100, null=True, blank=True, default='')
fullname = models.CharField(max_length=50, default='', null=True, blank=True)
email = models.EmailField(_('email address'), blank=True, null=True)
age = models.SmallIntegerField(default=0)
大于、大于等于
__gt 大于
__gte 大于等于
User.objects.filter(age__gt=10) // 查询年龄大于10岁的用户
User.objects.filter(age__gte=10) // 查询年龄大于等于10岁的用户
小于、小于等于
__lt 小于
__lte 小于等于
User.objects.filter(age__lt=10) // 查询年龄小于10岁的用户
User.objects.filter(age__lte=10) // 查询年龄小于等于10岁的用户
in
__in
查询年龄在某一范围的用户
User.objects.filter(age__in=[10, 20, 30])
like
__exact 精确等于 like 'aaa'
__iexact 精确等于 忽略大小写 ilike 'aaa'
__contains 包含 like '%aaa%'
__icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。
is null / is not null
__isnull 判空
User.objects.filter(username__isnull=True) // 查询用户名为空的用户
User.objects.filter(username__isnull=False) // 查询用户名不为空的用户
不等于/不包含于
User.objects.filter().exclude(age=10) // 查询年龄不为10的用户
User.objects.filter().exclude(age__in=[10, 20]) // 查询年龄不为在 [10, 20] 的用户
其他模糊查询
__startswith 以…开头
__istartswith 以…开头 忽略大小写
__endswith 以…结尾
__iendswith 以…结尾,忽略大小写
__range 在…范围内
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日
来源:https://blog.csdn.net/kongxx/article/details/48622673


猜你喜欢
- 本文实例讲述了wxPython的事件驱动机制,分享给大家供大家参考。具体方法如下:先来看看如下代码:#!/usr/bin/python #
- 在Qtdesigner中新建一个主界面如下所示:ctrl+R 预览从预览图中可以看出这时的界面不支持伸缩,拖动过小的话会导致部分界面遮住不可
- 从MySQL 5.0 开始,支持了一个全新的SQL句法:PREPARE stmt_name FROM preparable_stmt;EXE
- cv2库在opencv库内,因此需要下载opencv-python1、打开windows命令行:win+Rcmd2、更新pip版本(不一定要
- 样式表是一种为超文本标签语言提供增强补充服务的技术,可对每一个html的标签做精雕细刻的修饰。只用html制作的网页,对页面内各部分的修饰能
- 去除字符串中的空格、特殊字符、指定字符等,在python中,为我们提供了三种方法:strip()删除字符串前后(左右两侧)的空格或特殊字符l
- 需求分析业务要求,需要一个图片上传控件,需满足多图上传点击预览图片前端压缩支持初始化数据相关功能及资源分析基本功能先到https://www
- bootstrap的button边框问题最近在线上学习bootstrap时,发现很多童鞋都会遇到很多坑,有些很容易掉进去就出不来了;boot
- 本文介绍基于Python中gdal模块,实现对大量栅格图像批量绘制直方图的方法。首先,明确一下本文需要实现的需求:现需对多幅栅格数据文件进行
- 详见代码如下: import threading import time import os import subprocess def g
- SQL2005的存储过程: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROC
- 今天,在在使用 pycharm 的使用,进行创建 python的时候,发现使用默认的创建的选项使用的python 3环境 。而我系统默认的p
- 环境配置1:安装mysql,环境变量添加mysql的bin目录环境配置2:python安装MySQL-Python请根据自身操作系统下载安装
- 公司服务器上的ip最少的也有100多个,有时候查到一个站的Ip, 不想通过OA去查,自己就用自己最近学的python知识,结合数据库,编写了
- 来自John Resig早年的文章,大致翻译了一下,以作备忘。 令人高兴的是,我想我终于可以说,“现在,JavaScript的Getters
- 情景一: 表中数据 name score aaa 11 aaa 19 bbb 12 bbb 18 ccc 19 ddd 21 期望查询结果如
- 1、获取数据库标识符:DB_IDDB_ID函数用于获取当前数据库的唯一ID(int数据类型),数据库ID用于服务器上唯一区分书库。语法格式:
- 说到这个问题,基本上有人就会想到三个问题:1,什么是系统数据?2,为什么要移动系统数据库?3,移动系统数据库我们可以用附加和分离,为什么还要
- 首先来看GIF操作:情况一:空格被过滤使用括号()代替空格,任何可以计算出结果的语句,都可以用括号包围起来;select * from(us
- 在SQL Server数据库中,有min server memory与max server memory两个内存选项。数据库管理员合理设置这