首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Filter IF in FOR Django

Filter IF in FOR Django
EN

Stack Overflow用户
提问于 2018-06-08 05:22:09
回答 1查看 27关注 0票数 0

我正在用Django 2.0开发一个应用程序的课程,每个课程都包含模块,显然我有用户。

model.py

代码语言:javascript
复制
Class Course(models.Model):
    name = models.TextField()
    .....

Class Module(models.Model):
    name = models.TextField()
    containt = models.TextField()
    .....

Class UserCourse(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    course = models.ForeignKey(Course, on_delete=models.CASCADE)
    flat = models.BooleanField(default=False)


Class UserModule(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    module = models.ForeignKey(Module, on_delete=models.CASCADE)

当用户进入模块时,将在UserModule模型中创建注册表,以了解用户已进入模块。

我的想法是在模板中显示课程的所有模块,但如果用户已经使模块禁用该选项,否则允许进入模块。

views.py

代码语言:javascript
复制
def course(request, idCourse):
   course = Course.objects.get(pk=idCourse)
   module = UserModule.objects.filter(user = User.objects.get(pk=request.user.id),module__course=course.id)
return render(request, 'course.html',{'course':course,'module':module})

此查询已发送到课程模板

代码语言:javascript
复制
{% for x in course.module_set.all %}
    {% if x in module %}
       <i class="fa fa-check-circle"></i>
    {% else %}
       <a href="module"><i class="fa fa-check-circle"></i></a>
    {% endif %}
{% endfor %}

但不幸的是,如果模块还没有完成,我就没有得到显示链接所需的内容

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档