摘要: 多对多三种创建方式 全自动: # 利用orm自动帮我们创建第三张表关系。 class Book(models.Model): title = models.CharField(max_length=32) authors = models.ManyToManyField(to='Authors') 阅读全文
posted @ 2022-03-04 18:38 JasonBorn 阅读(98) 评论(0) 推荐(1) 编辑
摘要: choices参数(数据库字段设计) # 在数据库字段设计阶段,只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数 # 什么是可以列举完全的呢? 答 :就是一个数据的结果就是定数, 比如:数据的结果为性别(男/女) 数据的结果为学历(小学,高中,大学,研究生,博士,等等) 阅读全文
posted @ 2022-03-04 18:26 JasonBorn 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 数据库查询优化 引子: 准备工作: settings.py添加该配置参数: # 只要操作数据库那么就会打印sql语句 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'lev 阅读全文
posted @ 2022-03-04 18:25 JasonBorn 阅读(410) 评论(0) 推荐(0) 编辑
摘要: ** Django处理给你提供了很多字段类型之外,还支持我们自定义字段** 自定义char类型字段: # 在使用字符字段:(CharField()类型定义时,它相当于定义的是varchar()类型,现在我们来自定义一个char()类型的字段) # 要想定义字段的话,我们来模仿一下内置的字段是怎么写的 阅读全文
posted @ 2022-03-04 18:22 JasonBorn 阅读(84) 评论(0) 推荐(0) 编辑
摘要: ORM常用字段及参数 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为i 阅读全文
posted @ 2022-03-04 18:16 JasonBorn 阅读(50) 评论(0) 推荐(0) 编辑
摘要: Django中开启事务 # 什么是事务? 事务:一般是指要做的或所做的事情,而且事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所做的所有更改都会被撤销。 # 事务的四大特性: ACID: # 原子性: 一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做 阅读全文
posted @ 2022-03-04 16:46 JasonBorn 阅读(151) 评论(0) 推荐(0) 编辑
摘要: F与Q查询 F查询 # F查询:能够帮助我们直接获取列表中某个字段对应的数据 # 举例: 1.查询卖出数大于库存数的书籍 # 使用我们之前所学的知识来看看是否可以完成 res = models.Book.objects.filter(maichu__gt=???) # 我们可以看到我们之前在使用__ 阅读全文
posted @ 2022-03-04 16:27 JasonBorn 阅读(39) 评论(0) 推荐(0) 编辑
摘要: ORM分组查询 # 关键字:annotate() # models后面(.)什么就是按什么分组 eg:models.Book.objects.annotate() # 这里就是按照书籍表每本书来分组 示例: # 统计每本书的作者数量 res = models.Book.objects.annotat 阅读全文
posted @ 2022-03-04 16:26 JasonBorn 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 多表操作前期准备 models.py class Book(models.Model): name = models.CharField(max_length=32,verbose_name='书名') price = models.DecimalField(max_digits=8,decimal 阅读全文
posted @ 2022-03-04 16:13 JasonBorn 阅读(49) 评论(0) 推荐(0) 编辑