首页 > Django数据查询:views查询出来一个list里怎么查询另一个?

Django数据查询:views查询出来一个list里怎么查询另一个?

问题可能有点低级,但是一时不知道怎么解决的,所以来求助。

现在有A、B两个model

class A(models.Model):
    A1 = models.CharField(max_length=30)
    A2 = models.CharField(max_length=30)

class B(models.Model):
    B1 = models.CharField(max_length=30)
    B2 = models.ForeignKey(A)

我在views.py里查询出A的一个list:

def(request):
    a_list = A.objects.all()
    return render_to_response('1.html',{'a_list':a_list})

然后在templates里调用:

{% for a in a_list}
    {{ a.A1 }}
    {{ a.A2 }}
{% endfor %}

接下我希望在这个循环内用A2字段筛选一个B的list该如何操作,大体像这样:

{% for a in a_list}
    {{ a.A1 }}
    {{ a.A2 }}
    {% for b in b_list%}
        {{ b.B1 }}
        {{ b.B2 }}
    {% endfor%}
{% endfor %}

在你想要实现的templates里,已经出现错误了:不可能要B2也写出来的。至于获得对应的B的列表,

A.b_set.all()

就可以了。官方文档的教程里第一篇有相关内容。

【热门文章】
【热门文章】