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]