python Django整合postgresql实现增删改查crud

在Django中使用PostgreSQL数据库进行增删改查(CRUD)操作是非常常见的需求。下面,我将提供一个详细的教程,涵盖如何在Django项目中使用PostgreSQL数据库进行基本的CRUD操作。这个教程将包括安装PostgreSQL、配置Django以使用PostgreSQL、创建模型、执行CRUD操作等步骤。

1. 安装PostgreSQL

首先,确保你的系统上安装了PostgreSQL。在Ubuntu上,你可以使用以下命令安装:

复制代码

bash

sudo apt update sudo apt install postgresql postgresql-contrib

在Windows上,你可以从PostgreSQL官方网站下载安装程序。

2. 安装 psycopg2

psycopg2是一个PostgreSQL适配器,用于Python。在Django项目中,你需要安装它来连接Django和PostgreSQL。

复制代码

bash

pip install psycopg2-binary

3. 配置Django以使用PostgreSQL

在你的Django项目的settings.py文件中,配置数据库设置以使用PostgreSQL。例如:

复制代码

python

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'your_db_name', # 你的数据库名称 'USER': 'your_db_user', # 你的数据库用户名 'PASSWORD': 'your_db_password', # 你的数据库密码 'HOST': 'localhost', # 数据库主机,默认是localhost 'PORT': '5432', # 端口,默认是5432 } }

4. 创建模型(Models)

在Django的models.py文件中定义你的模型。例如,创建一个简单的Article模型:

复制代码

python

from django.db import models class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)

5. 迁移数据库

运行以下命令来创建数据库表:

复制代码

bash

python manage.py makemigrations python manage.py migrate

6. 执行CRUD操作

创建(Create)
复制代码

python

from .models import Article article = Article(title="My First Article", content="This is the content of my first article.") article.save()

读取(Read)
复制代码

python

articles = Article.objects.all() # 获取所有文章 for article in articles: print(article.title, article.content)

更新(Update)
复制代码

python

article = Article.objects.get(id=1) # 获取ID为1的文章 article.title = "Updated Title" # 更新标题 article.save() # 保存更改

删除(Delete)
复制代码

python

article = Article.objects.get(id=1) # 获取ID为1的文章 article.delete() # 删除文章

7. 使用 Django Admin 界面进行CRUD操作(可选)

你还可以通过Django自带的Admin界面进行CRUD操作。首先,确保你的模型已经注册到了Admin中:

复制代码

python

from django.contrib import admin from .models import Article admin.site.register(Article)

然后,运行以下命令来创建超级用户并启动开发服务器:

复制代码

bash

python manage.py createsuperuser # 创建超级用户以访问Admin界面 python manage.py runserver # 启动开发服务器

现在,你可以通过访问 http://127.0.0.1:8000/admin/ 来管理你的数据了。在Admin界面中,你可以看到Article模型的列表,并进行添加、编辑和删除操作。

以上就是在Django中使用PostgreSQL进行CRUD操作的基本步骤。如果你有任何问题或需要进一步的帮助,请随时提问!

相关推荐
杨凯凡5 小时前
MySQL 死锁怎么排查?InnoDB 锁等待与 Spring Boot 整事务重试实战
数据库·spring boot·mysql
Decay__5 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
瑞雪兆丰年兮6 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
FungLeo13 小时前
成为全栈·基础补充·数据库迁移与事务:数据结构怎样安全演进
mysql·postgresql·sqlite·数据一致性·数据库事务·数据库迁移·成为全栈
aiks_yuan20 小时前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
数据库小学妹21 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
这个DBA有点耶1 天前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
噜哥带你玩转 AI 大模型1 天前
面试加分项!CASE WHEN 两种写法、CTE 公共表表达式、四大类窗口函数,老哥一次讲透
mysql·窗口函数·cte·sql 进阶
bksczm1 天前
InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer
数据库·mysql
招风的黑耳1 天前
SpringBoot+Vue+MySQL 民宿在线预定平台 完整可运行版(源码+文档)
vue.js·spring boot·mysql