[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)


相关文章
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
124 2
|
2月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
330 2
|
5月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
250 58
|
2月前
|
算法 安全 新能源
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
244 0
|
3月前
|
机器学习/深度学习 算法 调度
【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)
【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)
171 0
|
5月前
|
机器学习/深度学习 人工智能 PyTorch
200行python代码实现从Bigram模型到LLM
本文从零基础出发,逐步实现了一个类似GPT的Transformer模型。首先通过Bigram模型生成诗词,接着加入Positional Encoding实现位置信息编码,再引入Single Head Self-Attention机制计算token间的关系,并扩展到Multi-Head Self-Attention以增强表现力。随后添加FeedForward、Block结构、残差连接(Residual Connection)、投影(Projection)、层归一化(Layer Normalization)及Dropout等组件,最终调整超参数完成一个6层、6头、384维度的“0.0155B”模型
330 11
200行python代码实现从Bigram模型到LLM
|
3月前
|
SQL 存储 数据库
Django模型查询与性能调优:告别N+1问题
本文详解Django数据库查询基础与优化技巧,涵盖QuerySet使用、关联查询(一对多/多对多)、N+1查询问题及解决方案(select_related、prefetch_related)、高级查询方法及项目实战中的数据权限控制实现。
172 0
|
4月前
|
存储 数据库 Python
Django模型关系:从一对多到多对多全解析
本文详解Django模型关系:一对多(ForeignKey)及多对多(ManyToManyField)关系的定义、操作与优化技巧。同时探讨外键约束的使用场景与权衡策略。
238 0
|
4月前
|
存储 关系型数据库 MySQL
Django模型开发:模型字段、元数据与继承全方位讲解
本文将全面介绍 Django 模型的关键知识点,包括模型字段类型、映射、常用配置选项以及模型继承等高级特性,帮助开发者快速掌握模型设计与使用技巧。
157 0
|
5月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
231 1