Django設(shè)置Postgresql的操作
這里假定Postgresql數(shù)據(jù)庫(kù)已經(jīng)裝好。
首先安裝依賴(lài)的包
$ sudo yum install python-devel postgresql-devel
如果使用virtualenv,先source一下virtualenv下的“ . bin/activate”,然后運(yùn)行
$ pip install psycopg2
修改settings.py文件
DATABASES = { ’default’: { ’ENGINE’: ’django.db.backends.postgresql_psycopg2’, ’NAME’: ’...’, ’USER’: ’...’, ’PASSWORD’: ’...’, ’HOST’: ’127.0.0.1’, ’PORT’: ’5432’, }}
測(cè)試
python manage.py shell>>> from django.db import connection>>> cursor = connection.cursor
如果沒(méi)有返回任何錯(cuò)誤說(shuō)明數(shù)據(jù)庫(kù)連接成功。
補(bǔ)充知識(shí):Django orm 常用查詢(xún)篩選總結(jié)
本文主要列舉一下django orm中的常用查詢(xún)的篩選方法:
大于、大于等于
小于、小于等于
in
like
is null / is not null
不等于/不包含于
其他模糊查詢(xún)
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) // 查詢(xún)年齡大于10歲的用戶(hù)User.objects.filter(age__gte=10) // 查詢(xún)年齡大于等于10歲的用戶(hù)
小于、小于等于
__lt 小于
__lte 小于等于
User.objects.filter(age__lt=10) // 查詢(xún)年齡小于10歲的用戶(hù)User.objects.filter(age__lte=10) // 查詢(xún)年齡小于等于10歲的用戶(hù)
in
__in
查詢(xún)年齡在某一范圍的用戶(hù)
User.objects.filter(age__in=[10, 20, 30])
like
__exact 精確等于 like ’aaa’
__iexact 精確等于 忽略大小寫(xiě) ilike ’aaa’
__contains 包含 like ’%aaa%’
__icontains 包含 忽略大小寫(xiě) ilike ’%aaa%’,但是對(duì)于sqlite來(lái)說(shuō),contains的作用效果等同于icontains。
is null / is not null
__isnull 判空
User.objects.filter(username__isnull=True) // 查詢(xún)用戶(hù)名為空的用戶(hù)User.objects.filter(username__isnull=False) // 查詢(xún)用戶(hù)名不為空的用戶(hù)
不等于/不包含于
User.objects.filter().exclude(age=10) // 查詢(xún)年齡不為10的用戶(hù)User.objects.filter().exclude(age__in=[10, 20]) // 查詢(xún)年齡不為在 [10, 20] 的用戶(hù)
其他模糊查詢(xún)
__startswith 以…開(kāi)頭__istartswith 以…開(kāi)頭 忽略大小寫(xiě)__endswith 以…結(jié)尾__iendswith 以…結(jié)尾,忽略大小寫(xiě)__range 在…范圍內(nèi)__year 日期字段的年份__month 日期字段的月份__day 日期字段的日
以上這篇Django設(shè)置Postgresql的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式2. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼3. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼4. php redis setnx分布式鎖簡(jiǎn)單原理解析5. 《Java程序員修煉之道》作者Ben Evans:保守的設(shè)計(jì)思想是Java的最大優(yōu)勢(shì)6. CSS3中Transition屬性詳解以及示例分享7. Python數(shù)據(jù)相關(guān)系數(shù)矩陣和熱力圖輕松實(shí)現(xiàn)教程8. 如何在PHP中讀寫(xiě)文件9. java加載屬性配置properties文件的方法10. 什么是Python變量作用域
