MVT 之 M——模型

编程入门 行业动态 更新时间:2024-10-28 13:22:27

MVT 之 M——<a href=https://www.elefans.com/category/jswz/34/1771358.html style=模型"/>

MVT 之 M——模型

1.ORM框架

在数据库的使用过程中,我们可以使用SQL语句操作数据库,但是可能会存在SQL语句较多,会影响到开发的速度。使用ORM框架可以让我们通过对对象和类的操作实现对数据库的操作,而不使用SQL语句。本质上,ORM框架会帮我们自动的转换为SQL 语句,然后对数据库进行操作。
Django框架内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。
使用django进行数据库开发的步骤如下:
1.在models.py中定义模型类
2.迁移
3.通过类和对象完成数据增删改查操作

2.创建数据库表

1.选择需要使用的数据库
Django默认使用sqlite3,可以更改为使用MySQL
具体步骤为:
对<DjangoProject>/Settings.py文件下的DATABASES = {}进行修改,修改为以下内容

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',  # 修改为MySQL'NAME':'djtest',                       # 数据库名字'USER':'root',                         # 用户名'PASSWORD':'*********',                # 用户的MySQL登录密码'HOST':'localhost',                    # 数据库所在主机的IP地址'PORT':'3306',                         # 端口号,一般默认为3306}
}

2.新建一个应用
Django中每一个应用实现一个功能,在控制台输入以下语句

python manage.py startapp firstApp

语句规则为:python manage.py startapp <appname>
同时,应该将创建的应用注册到Django中,
在<DjangoProject>/settings.py文件下的INSTALLED_APPS = [ ] 语句末尾加上刚刚创建的<AppName>

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

3.创建数据表,即模型类
在 <appname> /models.py 文件下编写模型类
以下为示例代码:

from django.db import models# Create your models here.'''
定义一个模型类,Book类
'''
class Book(models.Model):name = models.CharField(max_length=5)writer = models.CharField(max_length=15)

定义属性的语法为:
属性名 = models.字段类型(选项)
具体的关于模型类的定义会在以下博客进行说明
字段类型及选型详解
由于修改了使用的数据库为MySQL,所以要在当前环境中导入第三方库pymysql

pip install pymysql

安装成功之后,在<DjangoProject>/init.py文件中加上如下代码:

import pymysql
pymysql.install_as_MySQLdb()

4.生成迁移文件
在控制台输入以下代码:

python manage.py makemigrations
python manage.py migrate

5.通过MySQL控制台查看生成的内容

show databases
use djtest
show tables

可以看到,djtest数据库中存在很多个表,其中<AppName>_<ClassName>,即为刚才创建的表。可以通过

desc firstapp_book

查看表结构

可以看到,Django为我们自动生成了一列,id,在创建表的时候id就会作为对应表的主键列,并且主键列自动增长

6.在刚刚创建的数据表操作数据

在控制台输入以下指令进入shell命令行

python manage.py shell

给数据表传入一个值

from firstApp.models import Book
Book.objects.all()                # 查询数据表的全部数据,因为当前未导入数据因此返回值为空列表
b = Book()                        # 创建实例对象
# 设置对象的值
b.name = "射雕英雄传"
b.writer = "金庸"  
# 保存数据
b.save()

获取指定的某一个数据

# 获取数据表中的数据
book = Book.objects.get(id = "1")
book.name
book.writer

查询结果

修改某一条数据(以上一条查询的数据为例)

book.name = "连城诀"     # 修改书名为连城诀
book.save()              # 保存修改

删除某一条数据

book.delete()

更多推荐

MVT 之 M——模型

本文发布于:2023-06-29 22:53:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/951965.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模型   MVT

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!