Django的模型层——2模型实例

1. 类的属性

  • objects:是Manager类型的对象,用于与数据库进行交互

  • 当定义模型类时没有指定管理器,则Django会为模型类提供一个名为objects的管理器

  • 支持明确指定模型类的管理器

    复制代码
    class BookInfo(models.Model):
      ...
      books = models.Manager()
  • 当为模型类指定管理器后,django不再为模型类生成名为objects的默认管理器

2. 创建对象

  • 当创建对象时,django不会对数据库进行读写操作

  • 调用save()方法才与数据库交互,将对象保存到数据库中

  • 使用关键字参数构造模型对象很麻烦,推荐使用下面的两种之式

  • 说明:init方法已经在基类models.Model中使用,在自定义模型中无法使用,

3. 实例的属性

  • DoesNotExist:在进行单个查询时,模型的对象不存在时会引发此异常,结合try/except使用

4. 实例的方法

  • __str__(self):重写object方法,此方法在将对象转换成字符串时会被调用

  • save():将模型对象保存到数据表中

  • delete():将模型对象从数据表中删除

相关推荐
茶栀(*´I`*)9 小时前
Python网络机器人入门:从Robots协议、网页结构到Requests库的基础实践
网络·python·机器人
Lyy9 小时前
DevOps平台 — 第九篇:配置中心的设计与实现
后端·devops
吃饱了得干活9 小时前
MySQL 进阶:锁与事务、执行计划、内存管理、高可用架构及 8.0 新特性
后端·mysql
Json____9 小时前
基于 FastAPI + Vue3 的高校选课管理系统技术解析
后端·fastapi·wwwoop.com
SunnyDays10119 小时前
如何使用 Python 添加和编辑 Excel VBA 宏(无需安装 Excel)
开发语言·python·excel·vba
创新技术阁9 小时前
FastapiAdmin 定时任务实现原理与新建任务实操指南
前端·后端·fastapi
2601_962295999 小时前
Python+Appium 自动化测试:从基础语法到 PO 模式设计,构建稳定测试框架
自动化测试·python·appium·测试框架·po模式
开源量化GO9 小时前
先确认策略想法能不能变成规则
人工智能·python
拜托多多指教9 小时前
【Pytest框架学习】分层架构
python·pytest
zhanghaha131410 小时前
Python进阶教程:24_Markdown 转 HTML 零基础超详细教程
开发语言·python·html