关于机构的课程数和学习人数

来源:10-4 显示课程机构列表页数据 - 2

weixin_慕九州2465741

2020-05-16

发现列表页展示的机构的课程数和学习人数是读取数据库中我们自己录入是数据,并不能动态的改变。
希望能实现添加一个新课程后,机构的课程数也能相应的增加。
我在CourseOrg model下定义了一个方法
图片描述
然后在机构详情的view(OrgHomeView)下执行语句:
course_org = CourseOrg.objects.get(id=int(org_id))
course_org.course_nums = course_org.course_nums_count()
course_org.save()
这样子虽然可以实现课程数的更新,但是需要点击该机构详情页后数据才会更新。如果在后台中新增了一个课程后,直接查看机构的课程数是没有变化的,那么我需要在哪个地方调用上述定义的方法,才能实现新增课程后,机构表下的课程数便发生相应的改变?

另外关于机构学习人数的自动变更要如何实现?
我目前的思路是说 先定义一个方法,在方法中获取该机构的所有课程,然后取出各个课程的学习人数,将其相加后的值返回。
然后调用该方法,令course_org.students = 返回值。
但是要如何逐个取出该机构的课程,并获取各个课程的学习人数,这一点我不太清楚要怎么实现,同样的,在哪一个地方去调用这个方法才能实现实时更新也不清楚。

写回答

1回答

weixin_慕九州2465741

提问者

2020-05-16

学习人数的问题已解决!,但是课程数能否实现后台添加后直接更新?(目前是需要后台添加后,再到前端访问对应的课程详情页,机构的课程数才刷新)

0
1
bobby
可以实现,目前添加数据的途径无非两条,1. viewset添加 2. xadmin添加,第一种添加方式你已经能修改,第二种你在admin中覆盖save_models方法添加自己的逻辑就行了,这些在xadmin进阶中会讲解的
2020-05-17
共1条回复

Django+ xadmin 开发在线教育网站

一套通用的技术组合拳,助你解决大部分Python类网站后端问题

1911 学习 · 2149 问题

查看课程