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 makemigrations 和 python manage.py migrate 命令,可以完成迁移过程。

相关推荐
星恒随风37 分钟前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府1 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理2 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
无奈笑天下2 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
2601_967979123 小时前
Python第七十四讲 异常处理完全精通 try-except零基础保姆级教程
python·异常处理·编程教程·错误处理·try-except
AllData公司负责人4 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析
wuyk5554 小时前
Spider-第07讲-JSON接口与正则提取
爬虫·python·json
2601_967987374 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程