当前位置: 首页 > news >正文

一对多 多对一

关键解释

  1. 反向关系名称:(主要用于一对多中的一表并且没有定义相关外检字段)

    • 你的 Book 模型中未指定 related_name(相关名称),所以默认反向查询名称为 book_set(格式:关联模型小写_set)。
       

        <td>  {# 遍历该出版社下的所有书籍 #}{# 反向查询该出版社的所有书籍 #}{% for book in press.book_set.all %}{{ book.bookname }}(价格:{{ book.bookprice }}){% if not forloop.last %}<br>{% endif %}{% empty %}<span style="color: gray;">该出版社暂无书籍</span>{% endfor %}<td>

    • 如果希望自定义名称(如 books),可以在外键中添加 related_name='books',模板中则用 press.books.all

    • 这里是多对一中的多表(book表已经定义相关联的字段了)

        {#                forloop.counter  循环多少次 编号会随之变化  #}<td>{{ book.bookname }}</td><td>{{ book.bookprice }}</td><td>{{ book.bookauthor }}</td><td>{{ book.press.pressname }}</td><td>{% if book.bookimg %}<img src="{{ book.bookimg }}" alt="暂无图片" style="height: 100px">{% else %}<span class="text-muted">暂无图片</span>{% endif %}</td>


       

  2. 模板语法

    • press.book_set.all:获取该出版社关联的所有书籍。

    • {% empty %}:如果没有书籍时显示占位内容。

    • forloop.last:判断是否为最后一次循环,避免最后一个书籍后显示多余的 <br>

  3. 字段显示

    • 根据你的 Book 模型字段,可以显示 booknamebookpricebookauthor 或 bookimg

传参问题:
book项目中bookyemian的详情点击后

<!-- 修改原来的详情按钮 --><a href="{% url 'bookshopping' book.id %}" class="btn btn-detail"><i class="fa fa-info-circle"></i> 详情</a>

url.py

 path("bookshopping/<int:book_id>", views.bookshopping, name="bookshopping")

view.py返回数据对象

def bookshopping(request,book_id):book = Book.objects.get(id=book_id)return render(request, "book/bookshopping.html", {"book": book})


 

相关文章:

  • SQL思路解析:窗口函数该如何使用?
  • LeetCode 高频 SQL 50 题(基础版)之 【连接】部分 · 上
  • 猿大师办公助手WebOffice用二进制数据流在Web前端打开Office文档
  • 二次封装 Vuex for Uniapp 微信小程序开发
  • npm error Cannot find module ‘negotiator‘ 的处理
  • Turf.js:前端地理空间分析的瑞士军刀
  • 网络编程3
  • 图论回溯
  • 【监控】Spring Boot 应用监控
  • 如何制作全景VR图?
  • 线上 VR 展会:独特魅力与显著特质
  • 【赵渝强老师】HBase的体系架构
  • VR 技术与病毒分离鉴定:一场奇妙的邂逅​
  • Mobaxterm 连接到 Docker 容器
  • C语言栈详解
  • 不同电脑同一个网络ip地址一样吗
  • ⚡ Hyperlane —— 比 Rocket 更快的 Rust Web 框架!
  • IEEE出版|2025年智能制造、机器人与自动化国际学术会议 (IMRA2025)
  • 晶体单元(crystal unit)与晶体振荡器(crystal oscillator)
  • 类和对象(3)
  • wordpress建立多站点/国际新闻直播
  • 浅析淘宝网站的建设与运营论文/图片百度搜索
  • 医疗网站建设方案/上海谷歌seo推广公司
  • 哪个做企业网站/免费做网站自助建站
  • php动态网站开发实训8/关键词优化排名软件案例
  • 专门做中式服装平台的网站/搜索引擎优化排名培训