django之postgresql访问

本文详细介绍了如何在Django项目中配置并访问数据库,包括设置数据库连接、使用Python原生方式执行SQL语句、创建模型类及对应的数据库表,以及进行数据的增删改查操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录:

 

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]

转载于:https://www.cnblogs.com/lanzhang/p/4639715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值