Django--models.py

embedded/2025/1/17 4:18:29/

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 命令,可以完成迁移过程。

 


http://www.ppmy.cn/embedded/134254.html

相关文章

服务攻防之开发组件安全

我们来了解两个比较火的开发组件的安全问题,一个是log4j,一个是fastjson。我们从它的原理到复现来对他进行学习!这篇文章我们先来学习一下log4j! Log4j2远程命令执行(CVE-2021-44228) 1、什么是 log4j 和…

【小白学机器学习28】 统计学脉络+ 总体+ 随机抽样方法

目录 参考书,学习书 0 统计学知识大致脉络 1 个体---抽样---整体 1.1 关于个体---抽样---整体,这个三段式关系 1.2 要明白,自然界的整体/母体是不可能被全部认识的 1.2.1 不要较真,如果是人为定义的一个整体,是可…

vue3+pinia实现状态管理和持久化存储

在现代前端开发中,状态管理是一个至关重要的环节。Vue.js 作为一款流行的前端框架,其生态系统提供了多种状态管理解决方案。pinia 是 Vue.js 3 的官方推荐状态管理库,它提供了简洁的 API 和强大的功能,使得状态管理变得更加容易。…

推荐一款功能强大的AI实时变声器:FliFlik Voice Changer

FliFlik VoiCE Changer是一款专注于声音变换与音频处理的创新软件,旨在满足从日常娱乐、游戏直播到播客制作、专业音频编辑的多种应用场景需求。无论是想在游戏中变换声音逗乐队友,还是在播客中塑造个性化的音效,这款软件都能提供灵活而强大的…

HarmonyOS 设备管理

1. HarmonyOS设备管理 1.1. 说明 文档中心:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-device-info-V5   HarmonyOS设备管理分为电源管理、设备管理、系统电源管理、Runninglock锁、热管理、USB管理等。 1.2. 设备屏幕属性…

如何在忘记密码的情况下解锁 iPhone? 6 种方法分享

您是否因为没有密码而无法解锁您的 iPhone? 别担心,这种情况比你想象的更常见!忘记密码是 iPhone 用户面临的最常见问题之一,而且可能非常令人沮丧 - 但不要绝望。 在这篇文章中,我们将与您分享绕过 iPhone 屏幕密码…

《使用Gin框架构建分布式应用》阅读笔记:p251-p271

《用Gin框架构建分布式应用》学习第14天,p251-p271总结,总21页。 一、技术总结 1.Docker & Docker Compose version: "3.9" services:api:image: apienvironment:- MONGO_URImongodb://admin:passwordmongodb:27017/test?authSourcead…

移植 AWTK 到 纯血鸿蒙(HarmonyOS NEXT)系统 (0) - 序

移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (0) - 序 前段时间纯血鸿蒙系统 HarmonyOS 5.0(又称 HarmonyOS NEXT)正式推出,这是继苹果 iOS 和安卓系统后,全球第三大移动操作系统。纯正国产操作系统登场,国人无不欢…