books

Django 05

自作多情 提交于 2019-12-05 20:55:34
目录 配置测试脚本文件 单表操作 增加数据 查询数据 修改数据 删除数据 查询十三太保 双下划线查询 连表下的数据增删改 一对多/一对一 多对多 跨表查询 基本对象的跨表查询 (子查询) 基于双下划线的跨表查询 (连表查询) 配置测试脚本文件 直接在app下面的 test.py 中进行如下配置 注意: 必须完成如下配置之后才能导入我们需要测试的文件 from django.test import TestCase # 1.从manage.py copy 这几行代码 import os if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day55.settings") # 2.自己写两行 import django django.setup() # 3.把上面的环境搭好才能导入我们需要测试的模块 查看内部具体的SQL语句可以将下面的代码copy到settings.py文件的最下方 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', }, }, 'loggers

1127 模型层orm表操作

孤街浪徒 提交于 2019-12-05 20:46:12
目录 昨日回顾 模型层 1.配置测试脚本 1.1 应用下tests文件 1.2 新建任意名称文件 2. 数据的增删改查 2.1 创建数据 2.2 修改数据 2.3 删除数据 2.4查询数据 十三门徒 2.5 神奇的双下划线方法 3. 多表查询 1.表的创建与表关系的建立 2.一对多字段数据的增删改查 2.1 增 create() 2.2 改 update() 2.3 删 delete() 3.多对多字段的增删改查 3.1 增 add() 3.2 改 set(可迭代对象) 3.3 删 remove() 3.4 清空 clear() 4. 跨表查询 正反向查询 1.基于对象的跨表查询 2.基于双下划线的跨表查询 昨日回顾 视图层 小白必会三板斧 1.JsonResponse 默认只能序列化字典类型 如果你想序列化其他json能够支持的格式 你需要加一个参数safe=False 当你的数据有中文的时候 如果你不想自动转码 你需要制定一个参数 来告诉 你需要动内部任何数据 借助于原生的json模块作为参考依据 json.dumps(obj,ensure_ascii=False) 阅读源码 发现 json_dumps_params = {} json.dumps(obj,cls,**json_dumps_params) 2.FBV与CBV FBV 路由 路由与视图函数内存地址 视图 函数

django中的ORM

雨燕双飞 提交于 2019-12-05 20:45:26
ORM 配置测试文件 去manage.py中拷贝下面语句并复制到test.py中,或另外自己新建的测试文件也可以. import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "library00.settings") 然后导入模块,方法和文件 import django django.setup() from app01 import models #待测试文件的导入一定要在django.setup之后 数据的操作 建表 from django.db import models # Create your models here. class Book(models.Model): name = models.CharField(max_length=64) price = models.DecimalField(max_digits=8,decimal_places=2) publicdata = models.DateField(auto_now_add=True) public = models.ForeignKey(to="Public") author = models.ManyToManyField(to="Author") class

高阶函数 filter map reduce

荒凉一梦 提交于 2019-12-05 06:55:12
const app=new Vue({ el:'#app', data:{ books:[{ id:1, name:"算法导论", data: '2006-1', price:39.00, count:1 },{ id:2, name:"算法导论", data: '2006-1', price:39.00, count:1 },{ id:3, name:"算法导论", data: '2006-1', price:39.00, count:1 },{ id:4, name:"算法导论", data: '2006-1', price:39.00, count:1 }] }, methods:{ getfinalprice(price){ return "$"+price.toFixed(2); }, decreasement(index){ this.books[index].count--; }, increasment(index){ this.books[index].count++; }, remove(index){ this.books.splice(index,1); } }, filters:{ getp(price){ return "$"+price.toFixed(2); } }, computed:{ totalPrice(){ // let result=0;

小案例 购物车

风流意气都作罢 提交于 2019-12-05 06:47:43
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="index.css"></head><body><div id='app'> <div v-if="books.length"> <table> <thead> <tr> <th></th> <th>书籍名称</th> <th>出版日期</th> <th>价格</th> <th>购买数量</th> <th>操作</th> </tr> </thead> <tbody> <tr v-for="(item,index) in books"> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.data}}</td> <td>{{item.price|getp}}</td><!-- 使用了过滤器--> <td> <button @click="decreasement(index)" :disabled="item.count<=0">-</button> {{item.count}} <button @click="increasment(index)">+</button> </td> <td><button

Restful 接口规范

大城市里の小女人 提交于 2019-12-05 01:00:15
目录 Restful 接口规范 简介 URL设计 django内数据分析 数据的安全保障 接口特征表现 多数据版本共存 数据即是资源 资源操作由请求方式决定 响应状态码 正常响应 重定向响应 客户端异常 服务器异常 响应结果 响应数据要有状态码、状态信息以及数据本身 需要url请求的资源需要访问资源的请求链接 Restful 接口规范 与django相比的话,不会出现csrf问题 简介 2000年Roy Fielding博士在其博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。 RESTful作为目前最流行的 API 设计规范,一定有着它独有的魅力:强大、简易、易上手。 URL设计 django内数据分析 views.py from . import models class Book(View): def get(self, request, *args, **kwargs): pk = kwargs.get('pk', None) if pk: # 单查 book_dic = models.Book.objects.filter(pk=pk).values('name', 'price').first() results = book_dic

数据库存数据时,逻辑上防重了为啥还会出现重复记录?

丶灬走出姿态 提交于 2019-12-04 01:37:50
在很多异常情况下,比如高并发、网络糟糕的时候,数据库里偶尔会出现重复的记录。 假如现在有一张书籍表,结构类似这样 +----+--------------+ | id | name | +----+--------------+ | 1 | 世界简史 | +----+--------------+ 在异常情况下,可能会出现下面这样的记录 +----+--------------+ | id | name | +----+--------------+ | 1 | 世界简史 | | 2 | 人类简史 | | 3 | 人类简史 | +----+--------------+ 但是,想了想,自己在处理相关数据的时候也加了判重的相关逻辑,比如,新增时当图书 name 相同时,会提示图书重复而返回。 初次遇到这个情况的时候,感觉有点摸不着头脑,后面想了想,还是理清了,其实这和数据库的事务隔离级别有一定关系。 先简单说下数据库事务的 4 个隔离级别,然后重现下上述问题,最后说说解决办法。 1 数据库事务的 4 个隔离级别 1.1 未提交读 顾名思义,当事务隔离级别处于这个设置的时候,不同事务能读取其它事务中未提交的数据。 便于说明,我开了两个客户端(A 以及 B),并设置各自的隔离级别为未提交读。(并没有全局设置) 设置隔离级别命令 SET [SESSION | GLOBAL]

Grails findAll with sort, order, max and offset?

匿名 (未验证) 提交于 2019-12-03 08:42:37
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to integrate sort, order, max and offset in a findAll query. The following works fine: def books = Book.findAll("from Book as b where b.approved=true order by b.dateCreated desc", [max: max, offset: offset]) But what I want is: def books = Book.findAll("from Book as b where b.approved=true", [sort: 'dateCreated', order: 'desc', max: max, offset: offset]) This does not work. How do I have to rewrite this? 回答1: HQL doesn't support sort and order as parameters, so you need to include the "order by" as part of the HQL expression def books

ReoGrid.Mvvm:ReoGrid绑定模型

依然范特西╮ 提交于 2019-12-03 06:45:11
ReoGrid 是 C# 编写的.NET 电子表格控件(类似 Excel)。支持单元格合并,边框样式,图案背景颜色,数据格式,冻结,公式,宏和脚本执行,表格事件等。支持 Winform\WPF。 ReoGrid.Mvvm 是针对 ReoGrid.WPF 编写的一个开源类库,用于方便地将控件绑定到模型,从而实现模型(Model)和视图(View)的分离,适用于MVVM模式的开发。 项目地址 : https://github.com/IUpdatable/ReoGrid.Mvvm ,欢迎star 下面以一个图书信息的简单项目演示如何使用 ReoGrid.Mvvm . 完整代码见项目 ReoGrid.Mvvm.Demo . 演示效果如图 1. 创建一个 WPF 项目 2. NuGet 安装 ReoGrid.Mvvm Install-Package ReoGrid.Mvvm 3. 创建一个图书的模型(Model) 1 [WorksheetAttribute(Title = "Books")] 2 public class Book: IRecordModel 3 { 4 [ColumnHeader(Index = 10, IsVisible = false)] 5 public int Id { get; set; } 6 7 [ColumnHeader(Index = 20, Text

Help! MySQL Query

匿名 (未验证) 提交于 2019-12-03 02:33:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I just need a single line query. I must be dumb or over-thinking about a MySQL Query. Please help solving following query. Lets say there are 2 simple tables: Class and Books Class ID--Name-----Students 1------KG-----------20 2------Grade(3)---25 3------Grade(5)---30 Books ID--ClassId--Title-------------Cost 1-----1--------------Drawing------------------5 2-----3--------------History--------------------25 3-----1--------------A-to-Z--------------------10 4-----2--------------Alphabets---------------20 5-----3--------------Maths--------------