[Python]Django模型(Model)(一)

简介: [Python]Django模型(Model)

d2d119278e0042b7b9d1f56135f26544.jpg

前言

系列文章目录

[Python]目录

视频及资料和课件

链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234

提取码:1234


1. ORM框架

MVT设计模式中的Model,专门负责和数据库进行交互,对应的文件 models.py。

Model中内嵌了ORM框架,不需要直接面向数据库编程。而是定义模型类,通过模型类和对象完成数据库表的增删改查。

ORM框架就是把数据库表的行与相应的对象建立关联,互相转换,使得数据库的操作面向对象。

在ORM框架中,类对应数据表,对象对应数据表中的行,对象的属性对应数据表中对应行的字段。

使用ORM框架操作数据库,可以不用关心底层具体使用的是哪个数据库,只需要关心ORM框架即可。

如果需要使用不同的数据库,我们只需要在Django框架中进行相应的配置,ORM会自动连接对应的数据库,如果需要对数据库进行增删改查,我们也只需要操作ORM即可,ORM会自动生成对应的数据库的sql语言。

2. Django使用ORM进行数据库开发

2.1 步骤

  1. 定义模型类
  2. 模型迁移
  3. 操作数据库

2.2 数据库表格的相关信息

2.3 定义模型类

定义模型类时,主键会自动生成。

  • 根据书籍表结构设计模型类:
  • 模型类:BookInfo
  • 书籍名称字段:name
  • 根据人物表结构设计模型类:
  • 模型类:PeopleInfo
  • 人物姓名字段:name
  • 人物性别字段:gender
  • 外键约束:book
  • 外键要指定所属的模型类book = models.ForeignKey(BookInfo)

定义模型类,在对应的子应用中的models.py文件中进行定义。

定义的模型类继承自models.Model.

from django.db import models
# Create your models here.
# 模型类:BookInfo
class BookInfo(models.Model):
    # 书籍名称字段:name
    # 字段的类型为 字符类型字段(CharField) 最长的长度为10
    name = models.CharField(max_length=10)
# 模型类:PeopleInfo
class PeopleInfo(models.Model):
    # 人物姓名字段:name
    name = models.CharField(max_length=10)
    # 人物性别字段:gender
    # 布尔类型
    gender = models.BooleanField()
    # 外键约束:book
    # 外键要指定所属的模型类
    book = models.ForeignKey(BookInfo)


相关文章
|
11天前
|
开发框架 数据库 开发者
Web开发新境界:用Python玩转Django和Flask!
【6月更文挑战第12天】Python的Web开发框架Django和Flask各有千秋。Django是全能型框架,适合快速开发大型应用,提供ORM、模板引擎、URL路由和后台管理等全面功能。Flask则轻量级且灵活,适用于小型到中型应用,以其简单易用、高度可扩展和灵活路由著称。两者结合使用,能应对各种Web开发需求。
|
9天前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
8天前
|
机器学习/深度学习 调度 Python
SOFTS: 时间序列预测的最新模型以及Python使用示例
这是2024年4月《SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion》中提出的新模型,采用集中策略来学习不同序列之间的交互,从而在多变量预测任务中获得最先进的性能。
30 4
|
1天前
|
关系型数据库 MySQL 数据库连接
数据迁移到 Django 模型表:详尽指南
数据迁移是许多应用程序开发过程中必不可少的一部分。在这篇文章中,我们将详细分析和总结如何通过一个定制的 Django 管理命令,将数据从 MySQL 数据库迁移到 Django 模型表中。这种方法可以确保数据在多个数据库之间有效且安全地迁移,同时避免了手动操作的繁琐和错误。
|
6天前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。
|
9天前
|
小程序 前端开发 JavaScript
计算机Python项目|django傣族节日及民间故事推广小程序
计算机Python项目|django傣族节日及民间故事推广小程序
|
6天前
|
前端开发 数据库 Python
Python Django项目下的分页和筛选查询
在Django中实现分页功能,视图函数通过`Paginator`处理数据,每页显示10条记录。URL配置支持带参数和不带参数的分页请求。前端模板使用for循环展示分页数据,包括商品信息和状态按钮,并利用分页组件导航。筛选查询视图根据GET请求的`state`参数过滤上架或下架产品,同样实现分页功能。前端添加状态选择下拉框,分页链接携带查询参数`state`确保筛选状态在翻页时保持。
|
8天前
|
测试技术 虚拟化 云计算
GitHub高赞!速通Python编程基础手册,被玩出花了!
随着云时代的来临,Python 语言越来越被程序开发人员喜欢和使用,因为其不仅简单易学,而且还有丰富的第三方程序库和相应完善的管理工具。 从命令行脚本程序到 GUI程序,从图形技术到科学计算,从软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有 Python 的身影。 今天给小伙伴们分享的这份手册采用以任务为导向的编写模式,全面地介绍了 Python 编程基础及其相关知识的应用,讲解了如何利用 Python 的知识解决部分实际问题。
GitHub高赞!速通Python编程基础手册,被玩出花了!
|
5天前
|
开发者 Python
【干货】Python编程惯例
【干货】Python编程惯例
11 1