这里假定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 日期字段的日
以上这篇Django设置Postgresql的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 我是Python和Django的新手。 我正在使用PostgreSQL数据库引擎后端配置Django项目,但是每个数据库操作都出现错误。例如,当我跑步时,我得到: 有人可以告诉我发生了什么吗? 问题答案: 你需要安装psycopg2Python库。 安装 下载http://initd.org/psycopg/,然后将其安装在Python PATH下 下载后,轻松解压缩tarball并:
本文向大家介绍django美化后台django-suit的安装配置操作,包括了django美化后台django-suit的安装配置操作的使用技巧和注意事项,需要的朋友参考一下 环境:python2.7+django1.9 1、先下载django-suti pip install django-suit 2、配置项目 打开setting.py,然后找到------------------------
问题内容: 我正在尝试在Django 1.2中使用local_setting ,但对我来说不起作用。目前,我只是将local_settings.py添加到我的项目中。 settings.py local_settings.py 问题在于local_settings.py不会覆盖settings.py。怎么了? 问题答案: 你不仅可以添加local_settings.py,还必须显式导入它。 在最后
问题内容: 我一直在使用Django开发网络应用,而我很好奇是否有一种方法可以安排作业定期运行。 基本上,我只想遍历数据库并定期自动进行一些计算/更新,但是我似乎找不到任何有关此操作的文档。 有人知道如何设置吗? 需要说明的是:我知道我可以为此设置工作,但我很好奇Django中是否有某些功能可以提供此功能。我希望人们能够自己部署此应用程序,而无需进行大量配置(最好为零)。 我已经考虑过通过简单地检
我能够使用以下步骤重置Django PostgreSQL数据库: 删除迁移文件 我目前正在对我的模型进行更改,并测试每个更改。我没有任何需要保留的数据。当迁移不起作用时,有没有比上述更简单的方法来重置数据库? 我至少想用其他东西来代替步骤2,这样我就可以跳过步骤3-5。
问题内容: 我想知道Django-Haystack + elasticsearch + pyelasticsearch / elasticsearch- py的最佳组合是什么。我已经在Ubuntu 12.04机器上使用Haystack 2.1.1-dev + elasticsearch 1.1.1 + elasticsearch-py 1.0部署了安装程序。我尝试将Haystack 2.1.0(最