Django--models.py

Django Models 是 Django 框架中的一个核心组件,它提供了一种声明式的方式来定义数据库中的表结构,并通过 Django 的对象关系映射(ORM)功能来操作这些表。

定义与用途

定义:Django Models 是 Python 类,用于定义数据库中的表结构以及表中的字段。

用途:通过 Models,开发者可以以一种面向对象的方式来操作数据库,而无需编写 SQL 语句。

字段类型

Django Models 提供了多种字段类型,用于定义表中的字段。这些字段类型包括:

CharField:用于定义字符串字段,需要指定最大长度。

TextField:用于定义大文本字段,没有长度限制。

IntegerField:用于定义整数字段。

DateField:用于定义日期字段。

DateTimeField:用于定义日期和时间字段。

EmailField:用于定义电子邮件地址字段,会自动进行格式验证。

ForeignKey:用于定义外键关系,指向另一个模型。

ManyToManyField:用于定义多对多关系,可以在两个模型之间建立多个关联。

模型继承

Django Models 支持继承,子类模型可以继承父类模型的字段和方法。通过继承,可以创建具有共同属性的模型层次结构。

Meta 类

在 Django Models 中,可以使用 Meta 类来定义一些额外的选项,如数据库表名、排序方式等。

复制代码
class MyModel(models.Model):  
    # 字段定义  
    name = models.CharField(max_length=100)  
  
    class Meta:  
        db_table = 'my_table_name'  # 指定数据库表名  
        ordering = ['-name']  # 指定排序方式

数据库操作

Django Models 提供了丰富的数据库操作方法,包括查询、添加、更新和删除记录。

查询 :使用 all()filter()get() 等方法查询记录。

添加 :使用 create() 方法添加新记录。

更新 :使用 update() 方法更新记录。

删除 :使用 delete() 方法删除记录。

迁移与同步

在修改了模型定义后,需要使用 Django 的迁移工具来将更改同步到数据库中。这包括生成迁移文件和应用迁移文件两个步骤。通过执行 python manage.py makemigrationspython manage.py migrate 命令,可以完成迁移过程。

相关推荐
YOU OU8 小时前
Redis基础常识与命令
数据库·redis·缓存
Scott9999HH8 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
AI云海10 小时前
python 列表、元组、集合和字典
开发语言·python
二十雨辰10 小时前
[爬虫]-Urllib
爬虫·python
Database_Cool_11 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森11 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_11 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
玉鸯12 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
姜太小白12 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql