Django设置Postgresql的操作
这里假定Postgresql数据库已经装好。
首先安装依赖的包
$sudoyuminstallpython-develpostgresql-devel
如果使用virtualenv,先source一下virtualenv下的“.bin/activate”,然后运行
$pipinstallpsycopg2
修改settings.py文件
DATABASES={ 'default':{ 'ENGINE':'django.db.backends.postgresql_psycopg2', 'NAME':'...', 'USER':'...', 'PASSWORD':'...', 'HOST':'127.0.0.1', 'PORT':'5432', } }
测试
pythonmanage.pyshell >>>fromdjango.dbimportconnection >>>cursor=connection.cursor
如果没有返回任何错误说明数据库连接成功。
补充知识:Djangoorm常用查询筛选总结
本文主要列举一下djangoorm中的常用查询的筛选方法:
大于、大于等于
小于、小于等于
in
like
isnull/isnotnull
不等于/不包含于
其他模糊查询
model:
classUser(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(_('emailaddress'),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。
isnull/isnotnull
__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日期字段的日
以上这篇Django设置Postgresql的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。