django mysql增删查_「Django数据库」用ORM模型基本的增删改查操作(适用小白学习)...

随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了。1.SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长,会出现很多相近的SQL语句。2.很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改。3.写SQL时容易忽略web安全问题,给未来造成隐患。

什么是ORM模型呢?

即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。

一、安装python和django(这里就不讲了)

二、新建一个django项目。代码:

django-admin startproject dbdata #dbdata是我的项目名

三、新建一个django项目应用 代码:

python manage.py startapp db #db是我的项目应用

四、连接数据库(设置settings.py)

在INSTALLED_APPS 中添加项目应用,这里是db

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','db']

修改DATABASES中的参数,如下:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'yiqingdata','USER':'root','PASSWORD':'BGY20200202','HOST':'localhost','PORT':'3306',}}

五、在models.py中写需要表的字段,代码如下:(你也可以在navicat中新建好,如果用此方法,请移步至我另一篇文章。)

class Book(models.Model):name=models.CharField(max_length=100,null=False)author=models.CharField(max_length=100,null=False)price=models.FloatField(default=0)

接下来执行二条代码(迁移数据库):

python manage.py makemigrations #创建一个映射

python manage.py migrate #执行映射文件,然后新建我们的数据库表

这样我们就在数据库添加了我们的表book,实际看到的是db_book表(可以用navicat查看)db是我们的项目应用db

接下来,我们设置一下路由吧。

在urls.py中设置,如下代码:

from django.urls import pathfrom db import viewsurlpatterns = [path('', views.index),

在views.py中设置函数index,如下:

from django.http import HttpResponsedef index(request):return HttpResponse("这个是首页")

执行代码:

python mange.py runserver #开启网站服务器

浏览器输入:http://localhost:8000即可看到“这个是首页”字样

好了,到目前为止,网站都已经准备好了。接下来就来看看ORM增删改查操作:

1.ORM中的增加

4d09ff1a7f183108da149e6a5e52b677.png

这样数据库中就有了一条数据了。

2.ORM中的查询

cc63ba6996c7a41e1387f65c07dd4c69.png

如果查询非主键的话,可以用

book=Book.objects.filter(name='红楼梦')

注意:这样执行的话,没有具体的数据出来,

会显示:]> 这是一个QuerySet查询集

如果想看到怎么办?

需要在 models.py中添加del __str__(self)代码,如下所示

b8872301e1413dd1e8e0be41d9810e8f.png

3.ORM中的删除

ecbc293286110a72cc38c42291914ddc.png

4.ORM中的修改

4922c680505a5bae1085e339b45ef4d8.png

好了,以上是ORM中的增删查改,这篇文章适合小白学习,后续我会整理各种增删查改的操作,包括复杂的多表查询等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值