Django启航(三)Django模型

简介: Django启航(三)Django模型


Django模型

什么是模型?

就是你在Django的models.py中编写的类,它必须继承Model.model类

每个类都是数据库中的一张数据表,类的字段既属性就是数据表中的字段

Django通过映射对象与数据库之间的关系,减小了学习Django的学习难度,也避免了开发者去枯燥的命令行中寻求数据库的魅力~~


1. 模型

  1. 首先,模型必须继承自model.Model
  2. 需要在子应用(也就是你用xx命令创建的app,至于是什么命令,自己想一下,权当复习了)中的models.py中创建类

就像这样:

from django.db import models
# Create your models here.
class StudyModel(models.Model):
    name = models.CharField(max_length=5)  # 创建一个name字段,限制长度为5个字符
    phone_number = models.CharField(max_length=11)  # 创建一个手机号字段,长度为11个字符
    sex = models.CharField(max_length=2)  # 性别字段
    age = models.IntegerField()  # 年龄字段
    class Meta:
        verbose_name = "学习数据库"
        verbose_name_plural = "数据库"

这个类的作用就是在你使用命令后创建一个名字为:StudyModel的数据表,在你连接的数据库里面。

这个表的字段是:

  1. 姓名
  2. 手机号
  3. 性别
  4. 年龄

就相当于下列sql语句

create table StudyModel(
    "id" serial not null primary key,
    "name" varchar(5) not null,
    "phone_number" varchar(11) not null,
    "sex" varchar(2) not null,
    "age" int not null
);

相比于sql语句是不是感觉轻松了很多,是的没错,Django不仅仅封装了这点方法,还有更多的方法。

其中操作数据库的数据可以通过对数据表进行实例化对象来进行操作,比如添加,删除,查询等。


2. 常见字段类型

字段类型与sql中的类型相对于,只不过被封装在Django中


2.1 AutoField类型

AutoField是一个主键类型,就算你不设置,也会自动设置,且默认为id


2.2 IntergerField类型

IntergerField是一种整型数据,上面的AutoField就是是一种IntergerField,只不过因为他比较特殊,就单独拿出来说,他表示的范围为:

-21474836482147483647


2.3 CharField类型

在使用中,CharFidle类型还是很常见的,比如工作,职位,名字,介绍等~~

他可以设置max_length属性,来限制字符的长度


2.4 DataField类型

这是一个时间类型,他可以设置两个参数:

  1. auto_now——每次保存对象时,自动将该字段设置为现在
  2. auto_now_add——当第一次创建对象时,自动将该字段设置为现在。

字段类型还有很多,比如文件类型,邮箱类型,日期类型···等以后用到了再说


3. Meta内部类

在我们的models.py代码中,我们使用了Meta内部类,并使用了两个参数

verbose_name

他的作用是给数据表一个名字,在后台站点


目录
相关文章
|
6月前
|
SQL 数据库 索引
Django MTV - 模型层 - (专题)知识要点与实战案例
Django MTV - 模型层 - (专题)知识要点与实战案例
79 0
|
5月前
|
关系型数据库 MySQL 数据库
数据迁移脚本优化过程:从 MySQL 到 Django 模型表
在大规模的数据迁移过程中,性能问题往往是开发者面临的主要挑战之一。本文将分析一个数据迁移脚本的优化过程,展示如何从 MySQL 数据库迁移数据到 Django 模型表,并探讨优化前后的性能差异。
|
1月前
|
机器学习/深度学习 前端开发 网络架构
Django如何调用机器学习模型进行预测
Django如何调用机器学习模型进行预测
56 5
|
1月前
|
机器学习/深度学习 监控 数据挖掘
基于Django和百度飞桨模型的情感识别Web系统
基于Django和百度飞桨模型的情感识别Web系统
36 5
|
1月前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
25 4
|
1月前
|
存储 开发框架 JSON
【查漏补缺】Django模型字段类型及其应用
【查漏补缺】Django模型字段类型及其应用
17 0
|
3月前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
|
3月前
|
存储 数据库 开发者
Django Web架构:全面掌握Django模型字段(下)
Django Web架构:全面掌握Django模型字段(下)
55 2
|
3月前
|
API 数据库 开发者
【独家揭秘】Django ORM高手秘籍:如何玩转数据模型与数据库交互的艺术?
【8月更文挑战第31天】本文通过具体示例详细介绍了Django ORM的使用方法,包括数据模型设计与数据库操作的最佳实践。从创建应用和定义模型开始,逐步演示了查询、创建、更新和删除数据的全过程,并展示了关联查询与过滤的技巧,帮助开发者更高效地利用Django ORM构建和维护Web应用。通过这些基础概念和实践技巧,读者可以更好地掌握Django ORM,提升开发效率。
39 0
|
3月前
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API