个人博客地址——https://www.dogebug.cn/
GitHub地址——https://github.com/yanshigou/
layout: post
title: 找了两个小时的bug
date: 2018-10-01 21:52:00
comments: true
subtitle: A.B_set.all()!!11月1日居然发现bug自己修复了?
author: dzt
tags:
- python
- Django
ORM的反向查找 .all() 使用for循环 无法取出数据
课程机构表:
class CourseOrg(models.Model):
name = models.CharField(max_length=50, verbose_name='机构名称')
desc = models.TextField(verbose_name='机构描述')
category = models.CharField(default='pxjg', verbose_name='培训机构', max_length=20, choices=(('pxjg', '培训机构'), ('gr', '个人'), ('gx', '高校')))
click_nums = models.IntegerField(default=0, verbose_name='点击数')
fav_nums = models.IntegerField(default=0, verbose_name='收藏数')
image = models.ImageField(upload_to='org/%Y/%m', verbose_name='logo', max_length=100)
address = models.CharField(max_length=150, verbose_name='机构地址')
city = models.ForeignKey(CityDict, verbose_name='所在城市')
students = models.IntegerField(default=0, verbose_name='学习人数')
courses_nums = models.IntegerField(default=0, verbose_name='课程数')
add_time = models.DateTimeField(default=datetime.now)
课程表 (外键关联课程机构) :
class Course(models.Model):
course_org = models.ForeignKey(CourseOrg, verbose_name='课程机构', null=True, blank=True)
name = models.CharField(max_length=50, verbose_name='课程名')
desc = models.CharField(max_length=300, verbose_name='课程描述')
detail = models.TextField(verbose_name='课程详情')
degree = models.CharField(verbose_name='难度', choices=(('cj','初级'),('zj','中级'),('gj','高级')),max_length=2)
learn_times = models.IntegerField(default=0, verbose_name='学习时长(分钟数)')
students = models.IntegerField(default=0, verbose_name='学习人数')
fav_nums = models.IntegerField(default=0, verbose_name='收藏人数')
image = models.ImageField(upload_to='courses/%Y/%m', verbose_name='封面图',max_length=100)
click_nums = models.IntegerField(default=0, verbose_name='点击数')
add_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')
视图函数 :
class OrgHomeView(View):
'''
机构首页
'''
def get(self, request, org_id):
course_org = CourseOrg.objects.get(id=int(org_id))
all_courses = course_org.course_set.all()[:3]
all_teachers = course_org.teacher_set.all()[:1]
return render(request, 'org-detail-homepage.html', locals())
前端页面:
<div class="brief group_list">
{% for course in all_courses %}
<div class="module1_5 box">
<a href="course-detail.html"><img width="214" src="{{ MEDIA_URL }}{{ course.image }}"/></a>
<div class="des">
<a href="course-detail.html"><h2>{{ course.name }}</h2></a>
<span class="fl">课时:<i class="key">{{ course.learn_times }}</i></span>
<span class="fr">参加人数:{{ course.students }}</span>
</div>
<div class="bottom">
<span class="fl">{{ course.course_org.name }}</span>
<span class="star fr notlogin
" data-favid="13" data-fav-type="4">
{{ course.fav_nums }}
</span>
</div>
</div>
{% endfor %}
</div>
在访问页面时,无法遍历出数据,无法显示。
2018-10-01 21:52:00 写
2018-11-01 15:37 在公司利用空闲时间在本地搭建了这个项目后, 发现这个bug自己又好了??
肯定是家里数据库出了问题吧
个人博客地址——https://www.dogebug.cn/
GitHub地址——https://github.com/yanshigou/
禁止不留原创地址、署名的转载
本人保留所有法定权利。违者必究