请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

10-5中讲到课程外键 course_org,三个报表数据会混乱的问题提

给慕课网机构 添加了一名老师 bobby
在bobby老师名下添加了一门课程 python
在添加python这门课的时候,机构可以选择非慕课网的机构~

这样就造成了数据上的混乱,如果不按规矩添加。就会造成慕课网 的热门课程是清华老师讲的情况。
这样的问题是怎么处理的?可以在添加课程的时候,限定只能选该老师所在的机构么?怎么实现?

正在回答 回答被采纳积分+3

1回答

bobby 2019-07-27 17:13:09

从设计上来讲,既选讲师又选择机构有点多余,但是这样设计多余的字段冗余好处就是通过机构反向取课程容易多了,但是在添加课程选择结构和讲师的时候容易出现机构和讲师对应不上,这个应该就是你的疑问了,其实这种问题解决方法比较多:1。设计字段的时候不设计org这个字段, 这样只选择老师就不会有问题,但是通过机构反向取课程性能会比较低因为要多连接一张teacher表,所以org这个字段虽然冗余了但是在使用的时候却会让查询更加方便和快速,所以如果要保留这个字段的话其实也比较简单, 在xadmin进阶开发的章节我会讲解如何去拦截一个数据的save方法,可以在save中自动添加teacher的org了,这样的话在显示新增页面的时候可以忽略这个org这个字段,也就是这个字段在model中设计为可以为null,但是每次修改或者保存的时候拦截save方法,这这个方法中自己默认查询到这个teacher的org并填写到这个字段就解决了,这种解决方法相对优雅一些

1 回复 有任何疑惑可以回复我~
  • 提问者 啥昵称不占用 #1
    给力,期待后面的内容!陆续也买了很多实战课,您的这个是我听的最认真的,一句废话没有,全程干货!
    回复 有任何疑惑可以回复我~ 2019-07-27 17:42:13
  • bobby 回复 提问者 啥昵称不占用 #2
    非常感谢对课程的支持,希望课程能帮助到你
    回复 有任何疑惑可以回复我~ 2019-07-29 11:40:44
  • bobby 回复 提问者 啥昵称不占用 #3
    能否将问题标记为已经解决呢?因为已标记的问题对于其他同学来说便于搜索和查询
    回复 有任何疑惑可以回复我~ 2019-07-29 11:42:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信