Django 如何过滤查询集以插入常见结果
Django How do I filter querysets to insersect common results
我想过滤一个依赖于另一个查询集的查询集
我的models.py
class Escola(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
nome = models.CharField(db_column='Nome', max_length=255, blank=True, null=True)
class Inscrio(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
escolaid = models.ForeignKey(Escola, models.DO_NOTHING, db_column='EscolaID', blank=True, null=True)
这是我的views.py
def view_forms(request):
return render(request,
"main/view_forms.html",
{"escolas": Escola.objects.all,
})
我有一个 .html 模板,其中我 运行 一个 for 循环来编写 Escola 的所有对象,这些对象与模型 Inscrio 连接(通过 'escolaid' 外键).
我想要一个查询集来查找与 Escola 的 'id'
具有相同 'escolaid' 的 Inscrio 对象
例如,假设 for 循环为模型 Escola 返回了 'id' = 1,现在我想获取(在 for 循环中)所有具有 'escolaid' = 1 的 Inscrio 对象,并且我想要这个直到 Escola 循环没有更多的值
我该怎么做?
提前致谢
在模板中很简单,如果您在 Inscrio 模型中为 escolaid 分配了 related_name(exp: inscrios
),则应将 escola.inscrio_set
替换为 escola.inscrios
。浏览文档:related-objects-reference
{% for escola in escolas %}
{# handle escola #}
{% for inscrio in escola.inscrio_set %}
{# handle inscrio #}
{% endfor %}
{% endfor %}
我想过滤一个依赖于另一个查询集的查询集
我的models.py
class Escola(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
nome = models.CharField(db_column='Nome', max_length=255, blank=True, null=True)
class Inscrio(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
escolaid = models.ForeignKey(Escola, models.DO_NOTHING, db_column='EscolaID', blank=True, null=True)
这是我的views.py
def view_forms(request):
return render(request,
"main/view_forms.html",
{"escolas": Escola.objects.all,
})
我有一个 .html 模板,其中我 运行 一个 for 循环来编写 Escola 的所有对象,这些对象与模型 Inscrio 连接(通过 'escolaid' 外键).
我想要一个查询集来查找与 Escola 的 'id'
具有相同 'escolaid' 的 Inscrio 对象例如,假设 for 循环为模型 Escola 返回了 'id' = 1,现在我想获取(在 for 循环中)所有具有 'escolaid' = 1 的 Inscrio 对象,并且我想要这个直到 Escola 循环没有更多的值
我该怎么做?
提前致谢
在模板中很简单,如果您在 Inscrio 模型中为 escolaid 分配了 related_name(exp: inscrios
),则应将 escola.inscrio_set
替换为 escola.inscrios
。浏览文档:related-objects-reference
{% for escola in escolas %}
{# handle escola #}
{% for inscrio in escola.inscrio_set %}
{# handle inscrio #}
{% endfor %}
{% endfor %}