Collection 类没太明白

Collection 类没太明白

Collection 类的定义中完全没有 Product 和 Store 的内容,怎么就把这两个表和 Student 关联起来的呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学,你好。content_type = models.ForeignKey(ContentType)该语句与ContentType表做了外键关联,ContentType表是系统封装好的,即django_content_type表,可以通过content_type_id得到相对应的model即可知道用户收藏的是店铺还是商品

http://img1.sycdn.imooc.com//climg/5d3e51ac0001899009800344.jpg

http://img1.sycdn.imooc.com//climg/5d3e51f200012e6606690344.jpg

  • 洛维西 提问者 #1
    那么理论上其实这里不仅是把 商品 和 店铺 这两个模型与 Student 关联起来了,而是把 django_content_type 所有的模型都和 Student 关联起来了是么?包括这个表里诸如 grade、course 等等?只不过实际中未必会用到它们。
    2019-07-31 21:15:23
  • 好帮手慕美 回复 提问者 洛维西 #2
    可以这么理解的。Collection表中定义了content_type为外键与ContentType表关联,可以通过content_type_id来找到所对应的model模型即是店铺还是商品。
    2019-08-01 10:34:32
好帮手慕美 2019-07-25 11:17:22

同学,你好。

1、Collection表中定义了ForeignKey外键与Student表关联

2、ContentType表可以追踪项目中所有app和model的对应关系。该表会记录所有创建的模型,并给一个唯一标识。

收藏表--->店铺表--->商品表:可以通过Collection表中的content_type_id知道用户收藏的是店铺还是商品,object_id可以知道用户收的商品id或者店铺id。可以通过这两个id来唯一确定一条数据

comment里的3个字段:

content_type:内容类型,代表了模型的名字(比如Product, Store)

object_id:用来存储关联表中的主键

content_object:传入的实例化对象,其包含两个属性content_type和object_id。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 洛维西 #1
    呃我还是没太明白,我的意思是在 Collection 中,【user = models.ForeignKey(Student)】这行代码表明了和 Student 这个模型进行了关联,但是其他几个变量中都没有 Product 和 Store,怎么就确定是和这两个模型关联而不是别的模型呢?
    2019-07-26 21:58:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师