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():将模型对象从数据表中删除

相关推荐
evans在进步9 分钟前
LeetCode 33:搜索旋转排序数组——Java 两阶段二分查找详解
java·python·leetcode
言乐642 分钟前
Python游戏水平测试辅助系统2
开发语言·windows·python·游戏·django
nnerddboy2 小时前
Rust教程04:引用、借用与切片
开发语言·后端·rust
Rain的Java大神之路2 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
jerryinwuhan2 小时前
《Python数据预处理》第四章
开发语言·python
雨晨源码(同名B站)2 小时前
基于Python的网易云音乐评论数据情感化分析系统 音乐爬虫信息可视化 |SnowNLP评论情感分析
开发语言·hadoop·爬虫·python·信息可视化·毕业设计
阿童木写作2 小时前
跨境电商图片翻译工具推荐:跨马翻译批量处理视频字幕与抠图
python·音视频
weixin_431600443 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
小强库计算机毕业设计3 小时前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
怪奇云呼军3 小时前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频