django之postgresql访问

目录:

 

1.配置访问数据库

在settings.py文件中添加:

DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'aa',
'USER':'postgres',
'PASSWORD':'root',
'HOST':'',
'PORT':'',
}
}

2.python原始的访问数据库:

# -*- coding: utf-'8' "-*-"

# python原始使用的链接数据库
from django.db import connection
# 游标
cursor = connection.cursor
#执行sql语句
cursor.execute('select * from django_migrations')
# 获取返回值
result = cursor.fetchall()
# 关闭游标
cursor.close()

 

3.新的创建表,即就是创建django的类(models):

在models.py文件中添加类Mysite如下:

from django.db import models
class Mysite(models.Model):
title = models.CharField(max_length=100)
url = models.URLField()
author = models.CharField(max_length=100)
num = models.CharField(max_length=10)
# 排序
class Meta:
ordering = ['num']

在命令行查看的一些操作:

# 验证sql是否正确(即类Mysite创建的变量(字段)是否正确):D:\django_project\project_study_1\myproject>python manage.py validate
# 查看对于的sql语句(即类Mysite对于的sql语句):D:\django_project\project_study_1\myproject>python manage.py sqlall myproject
#同步到数据库(即创建类Mysite对于的表(表名为myTest_mysite)):D:\django_project\project_study_1\myproject>python manage.py syncdb

 

2.增,插入数据:

1.查询所有数据
from myTest.models import *
m = Mysite.object.all()
有数据时,通过m[0].title访问字段

2.添加数据
m=Mysite(title='django', num='2')
m.save()

3.查询(num为'2')的对象
m=Mysite.objects.get(num='2')
获取title的值
m.title

4.排序(按照num升序排序)
m=Mysite.objects.all().order_by('num')

(按照num降序排序)
m=Mysite.objects.all().order_by('-num')

3.更新和删除:

5.更新数据
m=Mysite.objects.get(num='2')
m.title='python'
m.save()
查看数据
m=Mysite.objects.get(num='2')
m.title

6.删除数据
m=Mysite.objects.get(num='2')
m.delete()
7.获取查询结果的条数
m=Mysite.objects.all()[:2]

posted @ 2015-07-12 00:34  lanselanlan  阅读(6888)  评论(0编辑  收藏  举报