前言:
如今同学们对“djangoorm的增删改查”都比较关怀,小伙伴们都需要学习一些“djangoorm的增删改查”的相关资讯。那么小编在网摘上搜集了一些有关“djangoorm的增删改查””的相关内容,希望你们能喜欢,你们快快来学习一下吧!Django ORM
优缺点分析
优点:
1.简单,不用些sql语句
2.开发效率高
缺点:
1.相对与直接写的sql语句,执行效率上有差距
数据库相关配置
在setting.py中配置:
DATABASES = { 'default': { #数据库类型 'ENGINE': 'django.db.backends.mysql', #数据库连接地址 'HOST':"127.0.0.1", #端口 'PORT':'3306', #数据库名称 'NAME': 'Django_Book', #用户 'USER':"root", #密码 'PASSWORD':'qwer1234' }}
告诉Django用pymysql 代替My'SQLDB 连接数据库,在Django项目(不是应用)中的init.py中:
import pymysql#告诉Django用pymysql代替默认的MySQLDBpymysql.install_as_MySQLdb()
定义数据模型类
from django.db import models# Create your models here.class BOOK(models.Model): id = models.AutoField(primary_key=True)#创建一个自增的主键ID, title=models.CharField(max_length=20)#书名 author= models.CharField(max_length=20)#作者 money = models.FloatField()#售价
根据数据模型生成表
1.生成迁移文件
命令:python manage.py makemigrations
2.执行迁移生成表
命令:python manage.py migrate
增删查改的操作
增
<!DOCTYPE html><html lang="en" xmlns=""><head> <meta charset="utf-8" /> <title>书籍列表</title></head><body> <form method="post" action="/add_book_interface"> 书名<input name="title" /><br /> 作者<input name="author" /><br /> 售价<input name="money" /><br /> <button type="submit">保存</button> </form> </body></html>def add_book_func(request): #id = request.POST.get("id") #实例化一个Book的对象 b=models.BOOK() #将获取到的参数赋给对象的对应属性 b.title = request.POST.get("title") b.author = request.POST.get("author") b.money = request.POST.get("money") #保存到数据库中 b.save() list = models.BOOK.objects.all() print("*"*100) return render(request,"book_list.html",{"book_list":list})
查询出所有结果
<!DOCTYPE html><html lang="en" xmlns=""><head> <meta charset="utf-8" /> <title>书籍列表</title></head><body> <table> <thead> <tr> <th>ID</th> <th>书名</th> <th>作者</th> <th>售价</th> <th>操作</th> </tr> </thead> <tbody> <!-- 将list传到前端循环读取数据 --> {% for item in book_list %} <tr> <td>{{item.id}}</td> <td>{{item.title}}</td> <td>{{item.author}}</td> <td>{{item.money}}</td> <td><a href="/del_book?id={{item.id}}">删除</a> </td> </tr> {% endfor %} </tbody> </table> <a href="/add_book">添加书籍</a> </body></html>def book_list(request): """ 取数据库查询所有的书籍 """ list = models.BOOK.objects.all() print(list) return render(request,"book_list.html",{"book_list":list})
删除
def del_book(request): id = request.GET.get("id") book = models.BOOK.objects.get(id=id) print(book.delete()) list = models.BOOK.objects.all() print("*"*100) return render(request,"book_list.html",{"book_list":list})
修改
def update_book(request): #根据id找到对应的book id = request.POST.get("id") #修改book对象的对应属性的值 b = models.Book.objects.get(id=id) b.id = request.POST.get("id") b.title = request.POST.get("title") b.author = request.POST.get("author") b.money = request.POST.get("money") #将信息回写回数据库,注:这里与添加的方法相同,Django会自动判断数据库中是否有这个属性,并执行相应的操作(增加或修改) b.save() list = models.BOOK.objects.all() Print("*"*100) return render(request,"book_list.html",{"book_list":list})
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。