在django中选择向后关联
我正在写一个Django项目 在在django中选择向后关联,django,django-models,Django,Django Models,我正在写一个Django项目 在courses/models.py中 class Category(models.Model): title = models.CharField(max_length=50) class Language(models.Model): category = models.ForeignKey(Category, on_delete=models.CASCADE) title = models.CharField(max_length=5
courses/models.py中
class Category(models.Model):
title = models.CharField(max_length=50)
class Language(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
class Course(models.Model):
name = models.CharField(max_length=250)
language = models.ForeignKey(Language, on_delete=models.CASCADE)
我想获得所有类别的列表
,然后遍历指定类别的每种语言
class Courses(ListView):
template_name = 'courses/index.html'
model = Course
context_object_name = 'courses'
def get_context_data(self, **kwargs):
context = super(Courses, self).get_context_data(**kwargs)
categories = Category.objects.all()
context['categories'] = categories
return context
在templatecourses/index.html
中,我想显示基于类别的语言列表
{% for category in categories %}
{{ category.title }}
<li>lis of languages in this category</li>
{% endfor %}
{%用于类别中的类别%}
{{category.title}}
这类语言的列表
{%endfor%}
如何在向后关联的数据上循环?Django创建了一个关系,可通过modelname\u set
键在模板中访问该关系
在您的情况下,您必须迭代:
category.language\u set.all
{% for category in categories %}
{{ category.title }}
{% for language in category.language_set.all %}
<li>{{ language.title }}</li>
{% endfor %}
{% endfor %}
{%用于类别中的类别%}
{{category.title}}
{category.language_set.all%}中的语言为%
{{language.title}
{%endfor%}
{%endfor%}
Django创建了一个关系,该关系可以通过modelname\u set
键在模板中访问
在您的情况下,您必须迭代:
category.language\u set.all
{% for category in categories %}
{{ category.title }}
{% for language in category.language_set.all %}
<li>{{ language.title }}</li>
{% endfor %}
{% endfor %}
{%用于类别中的类别%}
{{category.title}}
{category.language_set.all%}中的语言为%
{{language.title}
{%endfor%}
{%endfor%}
\u set完成这项工作。
在您的情况下,此代码必须有效:
{category.language_set.all%}中的语言为%
{{language.title}
{%endfor%}\u set执行此操作。
在您的情况下,此代码必须有效:
{category.language_set.all%}中的语言为%
{{language.title}
{%endfor%}