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


相关文章
|
8天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
30 4
|
15天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
55 5
|
6天前
|
机器学习/深度学习 数据采集 安全
使用Python实现智能食品物流管理的深度学习模型
使用Python实现智能食品物流管理的深度学习模型
20 5
|
12天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品价格预测的深度学习模型
使用Python实现智能食品价格预测的深度学习模型
42 6
|
13天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品推荐系统的深度学习模型
使用Python实现智能食品推荐系统的深度学习模型
42 2
|
17天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
36 2
|
16天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
51 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
16天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
59 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
3天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现深度学习模型:智能食品市场分析
使用Python实现深度学习模型:智能食品市场分析
20 0
|
14天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品广告投放优化的深度学习模型
使用Python实现智能食品广告投放优化的深度学习模型
57 0