小组项目第四、五周:后端数据——模拟炒股系统(2)

  个人工作
  这两周将模拟炒股功能添加到Django框架中。

  在stockforum项目内,添加名为mockexchange的应用,主页后/mockexchange/链接到该应用

模型:
  MockUser表示一个模拟炒股用户,和论坛用户一一对应;Commission、Deal、OwnedStock分别表示委托、成交、持有股票,均与MockUser为多对一关系

表单:
  Commission:创建委托的表单,输入代码、数量、价格后,其他信息自动填充
  CancelCommision:撤单,输入委托序号即可

视图:
  index:主页,有查看个人信息、买入、卖出、撤单按钮
  userinfo:显示该用户的现金、资产、持仓、委托、成交
  buy:买入操作,表单输入代码、数量、价格,在数据库中添加该委托
  sell:卖出操作,与买入类似
  cancel:撤单,输入委托的序号进行撤单

模板:对五个视图函数做了相应的简单模板

  个人总结
  原计划一周将模拟炒股系统上线,因为对django的数据库操作不是很熟练,中途还数据库出现了莫名其妙的问题,让我将之前的工作推倒重来,结果花了两周才将此功能添加到网站中。下面记录一下过程中遇到的主要问题

  1.在模型多对一、一对一、多对多关系中,必须要在参数中加上on_delete=models.CASCADE,表示删除关联数据,与之的关联也删除。在TangoWithDjango教程中没有提到这点。

  2.模型的属性必须指定默认值,而且模型的属性都是规定格式的,比如IntegerField,CharField。如果模型想要包含其他的属性,可以新创建一个模型,然后利用一对一、多对一关系,就相当于类中类。

  3.使用多对一索引时,比如要得到某个MockUser的所有Commission,可以使用MockUser.commission_set.all(),这里的commission为模型名称的小写。但是这样得到的列表,并不是数据库的引用,相当于重新复制出来的信息,对它们修改无法添加到数据库中。所以我在Commission模型中又加入user_name属性,使用Commission.objects.filter(user_name=xxx)来得到数据库中的数据的引用。

  4.在修改数据库时,最后不要忘记加上.save()

  5.在django实现多线程时,我在视图中加入了一个函数,该函数会新开一个线程。后续可以考虑使用Celery处理django的并行任务

小组项目第四、五周:后端数据——模拟炒股系统(2)相关推荐

  1. 小组项目第三周:后端数据——模拟炒股系统

    小组项目第三周:后端数据--模拟炒股系统   个人工作   本周实现了一个额外功能:模拟炒股系统.   每个论坛用户拥有一个模拟炒股用户,可以实现买入.卖出委托,由程序后台实时获取股票价格,判断委托是 ...

  2. 第四章第八节数据资产盘点-系统数据梳理

    第四章第八节数据资产盘点-系统数据梳理 系统数据梳理在数据字典梳理完成后,一是通过自动化工具,对梳理后的数据字典,评估其质量问题.二是按照认责原则,确定该信息项的所属部门.三是确定数据项的权威系统.这 ...

  3. 小组项目--闲置物品交换系统-第一周

    一,* 项目概述* 我们的项目是闲置物品交换系统,是基于上一届学长学姐的项目进行改进实现. 闲置物品交换系统主要包括,登录注册系统,物品分类系统,价值评估系统,和意见反馈系统. 定位:明确适用范围为北 ...

  4. 数据库实验第五周【数据查询】

    例题紧接着上一篇博客,链接地址在这里: 数据库[数据索引&插入&查询] 目录 数据查询 单表查询 1.选择表中的若干列 (3)查询经过计算的值 [例3.19] 查全体学生的姓名及其出生 ...

  5. 2019/01/21 一位前端实习生 艰辛过程 励志 实习周记(四)——第四 五周

    第四周的周一,刚到公司没多久,公司就开始给我们布置了真实的项目,需要我们动手了,一个比较简单的工作,就是根据UI设计稿,来修改模板上的页面,简单地来说,就是使用模板上的现成的组件,来拼装一个新的项目, ...

  6. umi搭建react+antd项目(四)axios请求数据

    1.下载axios yarn add axios 2.在src下新建文件夹conf,再新增js文件:axiosConf.js import axios from 'axios'axios.defaul ...

  7. 【物联网实训项目】------(五)家庭智慧安防系统之智能监控

    1.所需材料:人体感应模块.蜂鸣器以及树莓派摄像头                                                人体感应模块接线:中间数据引脚接的是pin12,剩下两 ...

  8. php项目宝塔搭建实战前后端Niushop开源商城系统

    大家好啊,我是测评君,欢迎来到web测评. 本期给大家带来一套php开发的Niushop开源商城系统. 运行环境 服务器宝塔面板 PHP 7.4 + Redis + uniapp Mysql 5.6及 ...

  9. 2019年6月6日第十五周体育馆团体预约系统UML软件工程项目日志

    体育馆团体预约系统 UML软件工程项目日志 June,6th ,2019 目录 一. 博客地址 1 二. 客户提交内容 1 三. 项目背景 2 四. 项目范围和前景 2 五. 沟通记录 3 六. 甲方 ...

最新文章

  1. POJ 1189 记忆化搜索
  2. 集显怎么安装android模拟器,集成显卡是不是不能运行Android L模拟器?
  3. jsonwebtoken中文文档
  4. 本地yum源简单配置
  5. UITextField
  6. 从行业龙头到世界500强,中国科技企业要跨过哪些坎?
  7. c++动态链接库及静态链接库的生成与使用
  8. 游戏编程设计模式-state
  9. mac下shell给文件名批量加前缀
  10. C、C++差异之左值右值
  11. Java中的TreeSet集合会自动将元素升序排序
  12. (赠书福利)2018 Oracle 数据技术嘉年华
  13. 操作系统—内存的动态分区分配算法
  14. Arduino射频识别RC522至数据库
  15. 查看Java 版本tls_如何在Java中设置TLS1.2版本
  16. IE6 下 如何 画三角形 ! 方法
  17. 堆溢出-unlink
  18. 大学生职业生涯规划书性格特征_大学生职业生涯规划书自我分析
  19. android 没有指南针,Android指南针指向我的位置,而不是北部
  20. 【网页图标】favicon.ico文件的设置

热门文章

  1. string标准C++中的的用法总结(转)
  2. 从零开始学习Java
  3. 探究网上的一个用MATLAB写的SIFT
  4. Alamofire的设计之道
  5. 讲解MR21和MR22修改价格的逻辑
  6. flutter 自定义日历
  7. 后台管理系统权限管理实现步骤
  8. knockout框架
  9. 用你的左脑pk右脑,思维导图用哪个?
  10. 「postgre」INT最大值