---恢复内容开始---

1,图书管理系统的表结构设计

  1.1>id,titlev,出版社_id

  1.2>ORM外键:press = models.ForignKey(to="Press", on_delete=models.CASCDE)

2,书籍的增删改查

  2.1>查询book_obj.press  ->ORM层面封装,返回的是和这本书关联的出版社对象

      book_obj.press_id  -->数据库中真正存在的字段,保存的是和关联的出版社id值

  2.2>增加>用select标签把已经存在的出版社页面上展示出来,让用户去选择

    使用的是:模板语言的for循环

  2.3>删除:补充3秒之后跳转到指定页面的操作1>location.href(),2>setTimeout(),3>setinterval()

  2.4>编辑,用select标签展示默认的出版社

    Django模板语言中的if判断

    {% if 条件 %}

    {% else %}

    {% endif %}

3,书籍的代码:

def book_list(request):# 1,用户进来以后给用户展示书籍的清单# 从数据库中把数据读取出来 book_data = Book.objects.all() # print(book_data) # 是一个所有书对象的列表 # 可以通过索引找到每一个对象,对象.外键就等于另一个表的对象(组合) return render(request, "book_list.html", {"book_data":book_data}) def add_book(request): # 2 第二次进来是POST请求,提交用户填好的数据 if request.method =="POST": new_book_name = request.POST.get("title") new_book_press= request.POST.get("press_id") print(new_book_name) print(new_book_press) # 2,把获取到的数据更新到数据库中 Book.objects.create(name=new_book_name, press_id=new_book_press) # 3,在给用户展示新增以后的页面 return redirect("/book_list/") # 1第一次进来给用于展示添加的页面 # 2从数据库中获得所有出版社的数据 press_obj = Press.objects.all() print(press_obj) return render(request, "add_book.html", {"press_obj":press_obj}) def delete_book(request): # 1获取用户点击删除的id值 delete_book_id = request.GET.get("id") print(delete_book_id) # 2找到这个id值对用 的对象并删除 Book.objects.filter(id=delete_book_id).delete() # 3跳转到书籍列表页面 return redirect("/book_list/") def edit_book(request): # 1先获取用户要编辑的id值 edit_id = request.GET.get("id") # 2获取该id值的对象 edit_obj = Book.objects.filter(id=edit_id) # 第二次进来是POST请求,获取修改完以后的值 if request.method == "POST": new_name = request.POST.get("book_title") new_press = request.POST.get("press_id") # VBA获取到的数据更新到数据库中 edit_obj.name = new_name edit_obj.press_id = new_press # 更新完以后save()一下  edit_obj.save() # 用户第一次进来是获取要编辑的页面 # 还要把输的原名称和原出版社的列表展示给用户 # print(edit_obj.press.name) press_obj = Press.objects.all() return render( request, "edit_book.html", {"book_name":edit_obj}, {"press_data": press_obj})

转载于:https://www.cnblogs.com/ljc-0923/p/9806181.html

图书管理系统之外键的增删改查相关推荐

  1. 商品管理系统商品分页,增删改查的实现增加购物车的功能Cart

    添加购物车前提条件:你的商品的页面有已经设计成功,有全选,全不选,反选这些操作的实现 通过checkbox复选框的id进行添加商品,从而获取商品的名字和其他的信息 增加成功后通过Ajax请求进行相关的 ...

  2. 名片管理系统 #python项目 #演练 #增删改查CRUD #全程教程

    名片管理系统 一.成果示例 新建,显示全部 查询.修改与删除 展示所有.退出 二.演练目标 三.实现步骤 1>框架搭建 1.准备两个文件 2.编写**主运行循环**,实现基本的**用户输入和判断 ...

  3. python及格率公式_python案例----学生管理系统(实现学员的增删改查功能)

    学生管理系统 系统需求 1.实现可以添加新的学员 2.修改单个学员的各项信息 3.将某个学员的所有信息全部删除 4.查看单个学员的信息 5.将所有学员的信息罗列出来 6.计算考试成绩的平均值 7.计算 ...

  4. mysql 定义外键并增删改查_20150102--Mysql外键+增删改查-01

    回顾 校对集:校对集必须事先设置好,修改无效 乱码问题:三码合一,通过php设置数据库和浏览器的编码 存储引擎:数据库数据的存储方式 数据类型:数值型,字符串型和时间日期型 数值型:整型,小数型(浮点 ...

  5. JSP学籍信息管理系统实现增删改查的相关功能操作

    JSP学籍信息管理系统 前言 这是我大二上学期那年学习JSP做的实训项目,现在把它贴在网上供自己和需要的人进行回顾和参考,如有哪里做的不规范还请指出,因为这是第一次做的项目所以不是特别完善,界面也不够 ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  7. Java-spring数据库编程(idea)实现学生账号登录以及管理员增删改查功能

    通过所学的Spring数据库编程知识,实现学生管理系统的登录及增删改查的功能.要求学生在控制台输入用户名密码,如果用户账号密码正确则显示登录成功,如果登录失败则显示登录失败.登录成功后,可以进行增删改 ...

  8. 商品品牌信息的增删改查操作步骤_图书信息管理系统

    不仅仅是图书信息管理系统 基于双链表,采用面向对象编程方法制作的图书管理系统 来源微信公众号: 不仅仅是图书信息管理系统​mp.weixin.qq.com 效果演示 框架结构 数据层:双链表管理 核心 ...

  9. python图书管理系统增删改查_固定资产管理系统,高效管理企业资产

    固定资产管理系统是面向资产密集型单位信息化解决方案的总称,是一款通用性极强的管理软件,能够对单位所有的固定资产进行全方位掌控,并规范其管理流程,适用于企业.机关.学校.医院等单位.系统围绕固定资产的& ...

最新文章

  1. C++ Primer Plus学习:第十章
  2. form转json:jquery.serializeJSON
  3. 腾讯-视频打标签算法探讨
  4. python怎么引入os模块的函数_Python里的OS模块常用函数说明
  5. Applying Multicycle Exceptions in the TimeQuest Timing Analyzer--Altera Note
  6. 登台区无效_使用事务数据复制来重放和测试登台服务器上的生产负载
  7. 【ROS】机器人编程实践
  8. 基于FVC_MSAVI_EVI的荒漠化等级分类方法
  9. Android开发使用一行代码实现点击切换下一张图片
  10. Data URL 基本介绍
  11. kux格式怎么转换成mp3_kux格式怎么转换成mp4?快速转换格式的方法
  12. 数字功放芯片的工作原理以及应用领域
  13. RDDs, Spark Memory, and Execution
  14. 获取计算机用户名,java获取计算机用户名
  15. 学习MySQL这一篇就够了
  16. 【从0开始学web】89-150 php特性
  17. 电脑端口号怎么查看?运行cmd命令查看电脑端口的方法图解
  18. celery 爬虫使用
  19. 【高精度定位】关于GPS、RTK、PPK三种定位技术的探讨
  20. cnn风格迁移_机器学习:利用卷积神经网络实现图像风格迁移 (一)

热门文章

  1. Letters比赛第六场1004 Unit Fraction Partition解题报告
  2. openGL第四讲——像素格式管理
  3. *30.什么是微内核
  4. 有人说Julia比Python好,还给出了5个理由
  5. 200 ssl服务器证书无效_ssl证书无效怎么办?
  6. 以太坊服务器是什么_搭建以太坊节点服务器https API
  7. 卸载MySQL Connector NET无法卸载
  8. ReadAndWriteLock(读写锁)
  9. 084_html DOM
  10. 067_为什么要使用xhtml