Django 连接数据库,数据库表字段的增删改查

Posted bigbox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 连接数据库,数据库表字段的增删改查相关的知识,希望对你有一定的参考价值。

技术图片

 

 

 如何获取前端数据

request方法:

获取前端数据的方式: request.POST(获取表单中发送的数据)、request.GET  (获取的是url后面跟的数据)

前端:注意name属性的值即为后台大字典的key ,即通过key来取到前端发过来的数据

技术图片

 

 后端:

views :  request.POST.get()  方法默认取列表中的最后一个值,request.POST.getlist()    取列表

技术图片

 

 

数据库:Django连接数据库配置:

1.   setting.py : 配置数据库

技术图片

 

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘day50‘,
‘HOST‘: ‘127.0.0.1‘,
‘PORT‘: 3306,
‘USER‘: ‘root‘,
‘PASSWORD‘: ‘123‘
}
}

2.    __init__.py:      项目的__init__文件 或者 app的__init__文件

 import pymysql           

 pymysql.install_as_MySQLdb()

3. 重启Django服务即可链接数据库:

创建数据库表

1.创建数据库表:数据库必须是先创建好的,然后通过models 创建表

技术图片

 

 2.   *************************数据库迁移(同步)命令************************

1.python3 manage.py makemigrations  # 仅仅是将你对数据库的改动记录到某个小本本上(migrations文件夹)
2.python3 manage.py migrate # 将改动真正的同步到数据库中
快捷方法: makemigrations 、 migrate

技术图片

 

3. 字段的增删的增删改查操作 (数据完成增删改查之后,直接执行 makemigrations、migrate即可更新到数据库)

字段的增删改查
		字段的增   特别注意
			1.要么给该字段设置默认值
			2.要么运行该字段可以为空
		字段的查
			...
		字段的改 
			修改models代码 之后执行数据库迁移命令即可
		字段的删
			只要注释掉对应的字段 执行数据库迁移命令就会将对应的字段及数据信息全部删除(慎用)

技术图片

 

 4.数据的增删查改

数据的增删改查
		查
			1.filter()
				from app01 import models
				@@@@   res = models.User.objects.filter(username=‘jason‘)  # select * from user where username=‘jason‘
				# 返回的结果是一个列表  支持索引取值但是不支持负数并且不推荐使用 推荐你使用它给你封装好的方法
				user_obj = res.first()
				# filter方法条件不存在的时候 不会报错返回的是一个空列表
				"""
				filter括号内直接放多个关键字参数 并且多个关键字参数之间是and关系
				res = models.User.objects.filter(username=‘jason‘,password=‘123‘)  # select * from user where username=‘jason‘ and password=‘123‘;
				"""
			
			2.查所有的数据
				1.filter() 括号内不写拿所有
					<QuerySet [<User: jason>, <User: egon>, <User: sean>, <User: admin>, <User: 你不行>]>
				2.all()    查询所有数据
					<QuerySet [<User: jason>, <User: egon>, <User: sean>, <User: admin>, <User: 你不行>]>
		增
			1.create()
				user_obj = models.User.objects.create(name=username,password=password)
				print(user_obj,user_obj.name)
				# 该方法有返回值 返回值就是当前被创建的对象本身
			2.对象的绑定方法
				# 方式2
				# 1 先生成一个User对象
				user_obj = models.User(name=username,password=password)
				# 2 调用对象的绑定方法
				user_obj.save()
				
		删
			用户点击谁 你的后端就应该删除
			后端如何获取用户想要删除的数据id?
			models.User.objects.filter(id=delete_id).delete()  # 将filter过滤出来的数据全部删除   批量删除
		
		改
			如何获取用户想要修改的数据id
			根据数据id获取数据并且展示到前端页面供用户查看
			
			# 方式1(推荐)                      批量更新
			models.User.objects.filter(id=edit_id).update(name=username,password=password)
			# 方式2(了解)
			# 1 先获取数据对象
			edit_obj = models.User.objects.filter(id=edit_id).first()
			# 2 再修改对象属性
			edit_obj.name = username
			edit_obj.password = password
			# 3 调用对象的绑定方法保存
			edit_obj.save()

  

以上是关于Django 连接数据库,数据库表字段的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

1122课堂小结 Django连接数据库

Django

静态文件

Django 多对多关系的增删改查

Django框架之第二篇

五 Django框架,models.py模块,数据库操作——表类容的增删改查