Django模型简介

简介: 模型是一个定义数据源的数据,它包含要存储数据的一些属性和行为。通常,每一个模型对应数据库中的一个数据表。每一个模型是django.db.models.Model的子类每一个模型属性代表数据表的一个字段。

模型是一个定义数据源的数据,它包含要存储数据的一些属性和行为。通常,每一个模型对应数据库中的一个数据表。

  • 每一个模型是django.db.models.Model的子类
  • 每一个模型属性代表数据表的一个字段。
  • Django提供了自动生成的数据库访问API,使用模型操作数据库很方便

模型案例

下面的代码定义了Person模型,有first_name和last_name:

from django.db import models class Person(models.Model):
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30)

first_name和last_name代表模型的field(属性),每一个属性对应到数据表的一个列,上面的模型代码对应的数据表将是如下:

CREATE TABLE myapp_person ( 
    "id" serial NOT NULL PRIMARY KEY, 
    "first_name" varchar(30) NOT NULL, 
    "last_name" varchar(30) NOT NULL 
);
  • 表名称前缀 myapp 是在配置文件中配置的,可以覆盖
  • id元素是自动添加的,也可以做一些自定义的操作
  • 这里的语句使用的是PostgreSQL语法,在settings.py中配置其它类型的数据库,可以生成对应数据库的语法

使用模型

当你定义好模型之后,你需要告诉Django你要用这些模型了,通过修改settings.py文件中INSTALLED_APPS部分来添加新的模块名称,包含刚定义的model。

# Application definition
INSTALLED_APPS = [
    'myqpp',
    ...
]

添加新的模块之后,不要忘了运行迁移命令是模型生效。

python manage.py migrage

模型属性(Field)

Field是模型中最重要的部分,也是必须要有的部分。它定义了 Python 模型与数据表之间的对应关系。

注意定义属性名称时不要使用有冲突含义的字段名称。如save,clean,delete

Field Type

模型的每一个属性都应该是 Field 类的实例,Django使用Field类处理如下事情:

  • 数据表 column 列的类型,Interger,VARCHAR, TEXT
  • 字段验证validate

Django预定义了很多Field,这里有一份完整的Field类型参考

Model field reference

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