2024年Python最全Django基础篇(3)--模型(1)

本文介绍了如何使用Django框架在Python中操作数据库,包括创建数据库、建表、插入数据,以及在视图中实现增删改查功能。详细讲解了模型定义、迁移数据库和路由设置的过程。
摘要由CSDN通过智能技术生成

连接成功后刷新一下就能看到以下界面:

在其中写入一些数据:

建库

create database test;

使用

use test;

建表

create table test_qingqing(

id int primary key auto_increment ,

name varchar(20) unique key,

pwd varchar(20)

);

插入数据

insert into test_qing(name,pwd)

values(‘qinganan’,12345),(‘qqingqingan’,123456),(‘wubieshi’,123456)

这些是简单的写入数据,然后我们可以操作数据库,python操作数据库,可以参照这一篇文。

Django操作数据库

===========

前菜介绍完,现在正题来了。我们拿上一章的项目来讲,或者自己重新创建项目应用都可行。命令就是那么些。

这里我重新创建了一个应用。注意:记得cd到目录下,        >>>cd qingan         >>>

python manage.py startapp qingqing。

再去注册一下这个应用。qingan>>settings.py中写入应用名称。这里值得注意的是如果你之前注册了一个应用,那么接下来就需要你指定应用执行了。

比如:执行新创建的应用模型:

python manage.py makemigrations testqing

执行完后,对应的应用中的migrations文件会出现一个0001_inital.py文件,则表示执行成功了,如果你在接下来模型中有所改动,则再次执行,会出现0002_inital.py。

然后同步到数据库:

python manage.py migrate testqing

这两步需要在创建模型后再执行哦。

链接数据库,或者初始化数据库。python manage.py migrate

创建模型


选中应用中的models.py文件比如我的应用是testqing–>>>models.py:

class ttsqlqing(models.Model):

“”"

转化成了一个模型对象类

数据库中表名就是我们的类名:应用名称+_+类名(小写)

增加了name与pwd字段

“”"

name = models.CharField(max_length=20)

pwd = models.CharField(max_length=10)

创建好数据后,就执行上述的两个命令python manage.py makemigrations testqing以及python manage.py migrate testqing,然后刷新一个数据库即可。

这里模型中我们创建了一个name以及pwd,对应到数据库表中则是两个字段。显示最大长度为20以及10。

如果想新增字段,可以直接在models里面直接增加代码,然后进行提交到数据库。你会遇到如下情况:

这里我们选1,然后我们输入一个值作为有效值即可

视图


接下里我们在对应的应用中的views.py中进行增删改查的操作。

视图可以为模型添加数据。这也是视图与模型交互的一个过程。

from testqing.models import testsql

from django.http import HttpResponse

添加

def test_create(request):

test = testsql()

test.name = ‘test’

test.pwd = ‘qingqingqing’

test.save()

return render(request,“”) 返回的是模板,没有模板所以用HttpResponse

return HttpResponse(“添加成功”)

查询

def test_search(request):

serch_content = testsql.objects.get(id=4)

get方法只能接受单数的返回对象,如果搜索内哦那个返回对象是复数态或者空对象都会报错,返回是一个单数形式的对象

return HttpResponse({serch_content.name,serch_content.pwd})

修改

def test_update(request):

update_content = testsql.objects.get(id=4)

update_content.dict.update(name=“wubieshi”)

update_content.save() # 这里的save是提交事务

return HttpResponse(“修改成功”)

删除

def test_delete(request):

构建一个模型的实例化对象,然后对这个实例化对象进行查询

delete_test = testsql.objects.get(id=“4”)

调用模型实例化对象的删除方法

delete_test.delete()

return HttpResponse(“删除成功”)

删除操作需要去数据库中看id,看看需要删除的是哪一项的数据,写入对应的id即可。

路由

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值