首页 > 数据库 >Django连接数据库操作

Django连接数据库操作

时间:2024-03-19 09:02:25浏览次数:23  
标签:请求 get 数据库 request django orm Django 连接

只能运行一个django项目
从计算机名称开始一直到项目文件名,都不能包含中文

不管是get请求还是post请求,都是朝一个地址发起执行的,那get请求和post请求对应的处理肯定要不一样

request对象
request.method:返回请求方式,并且全大写的字符串形式
request.POST:获取用户提交post请求的数据
request.POST.get():获取列表中最后一个元素
request.POST.getlist():获取整个列表
request.GET:获取到用户提交的get请求数据
request.GET.get():获取列表中最后一个元素
request.GET.getlist():获取整个列表

pycharm连接数据库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

django连接数据库

在这里插入图片描述

django连接数据库需要下载的第三方库:
pymysql
mysqlclient
在这里插入图片描述

django orm

orm:对象关系映射
利用python面向对象的代码操作数据库
类–>表
对象–>记录
对象属性–>记录某个字段对应的值

通过orm操作数据库

1.去models.py中创建模型类

在这里插入图片描述

2.数据库迁移

将操作记录记录到migrations文件夹中:python manage.py makemigrations
将操作同步到数据库:python manage.py migrate
在这里插入图片描述

迁移之后会多出很多表,这些是django默认需要创建的表
注意:只要修改了models.py中跟数据相关的代码,就必须重复执行数据库迁移的两条命令
数据的增删改查
在这里插入图片描述
在这里插入图片描述

django orm中如何创建表关系
图书表,出版社表,作者表,作者详情表
图书表和出版社表示一对多的关系,图书表和作者表是多对多的关系,作者表和作者详情表是一对一的关系

orm创建表的时候不需要写id,会自动帮你创建id是一个自动增长的主键字段

ForeignKey表示设置外键
1.to表示要关联的表(必选参数)
2.to_filed表示要关联的字段(可选)
3.on_delete表示当删除关联表中的数据时,当前表和关联表的行为.值有很多选项:CASCADE(级联删除),PROTECT(会报完整性的错误),SET_NULL(会把外键字段设置为空,前提是允许为空),SET_DEFAULT(会给外键设置默认值)

标签:请求,get,数据库,request,django,orm,Django,连接
From: https://blog.csdn.net/wjhltl/article/details/136786067

相关文章

  • 【20.2】Django框架Form组件之渲染HTML代码
    【一】引入forms组件只会帮我们渲染用户输入的标签(input/select...)【二】书写forms组件forms.pyfromdjangoimportforms#定义form类classMyForm(forms.Form):#username:字符串类型最小三位,最大八位username=forms.CharField(max_length=8,min......
  • 【20.1】Django框架Form组件之常用字段及插件
    【零】引入创建Form类时主要涉及到【字段】和【插件】字段用于对用户请求数据的验证插件用于自动生成HTML;【一】Field.clean(value)注意:这里说的是字段Field的clearn方法,不是表单Form的clean方法。虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来......
  • 【20.4】Django框架Form组件之钩子函数(Hook)
    【一】什么是钩子函数在forms组件中钩子函数(Hooks)是用来在特定事件发生时执行自定义逻辑的函数。它们提供了一种创建交互性和动态行为的方式,并可以用于处理表单的各种状态和数据。【二】常见的钩子函数【1】onInputChange当输入框的值发生变化时触发。你可以通过这个......
  • 【20.3】Django框架Form组件之渲染错误信息
    【一】定义form组件forms.py#定义form类classMyForm(forms.Form):#username:字符串类型最小三位,最大八位username=forms.CharField(max_length=8,min_length=3,label="用户名",error_messages={......
  • 【20.7】Django表单API详解
    【一】引入声明:以下的Form、表单等术语都指的的广义的Django表单。Form要么是绑定了数据的,要么是未绑定数据的。如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单。如果未绑定,则无法进行验证(因为没有数据可以验证!),但它仍然可以以HTML形式呈现空白表单。若要......
  • 【20.6】Django框架Form组件之模型表单ModelForm
    【一】引入如果你正在构建一个数据库驱动的应用,那么你可能会有与Django的模型紧密映射的表单。比如,你有个BlogComment模型,并且你还想创建一个表单让大家提交评论到这个模型中。在这种情况下,写一个forms.Form类,然后在表单类中定义字段,这种一般创建表单的做法是冗余的,因为你已经......
  • 【20.5】Django框架Form组件之源码
    【一】切入点切入点form_obj.is_valid()defis_valid(self):"""ReturnTrueiftheformhasnoerrors,orFalseotherwise."""returnself.is_boundandnotself.errors如果is_valid要想返回True那么self.is_bound要为Trueself.errors......
  • Django 用re_path()方法正则匹配复杂路由
    app1.url.pyfromdjango.urlsimportpath,re_pathfrom.importviewsurlpatterns=[path('index',views.index,name='index'),path('test',views.test,name='test'),path('test_int/<int:id>/......
  • 【20.0】Django框架之Form组件
    【一】Django的表单系统【1】使用表单(1)原始表单我们之前在HTML页面中利用form表单向后端提交数据时都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验比如校验用户是否输入输入的长度和格式等正不正确。......
  • 【10.0】Django框架之路由层
    【零】Django的路由系统【1】什么是URL配置(URLconf)URL调度器|Django文档|Django(djangoproject.com)URL配置(URLconf)就像Django所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代......