在Django我不得不模型A和B,B有FK参考A. A2B是一个一对多的Django的查询加入
在我的控制器代码中,我选择的根据某些标准列表并将此列表传输到模板以生成html页面。
该模板用来生成列表:{%为在list_of_a%}
的问题是,每“一”印我必须打印相关烧烤为好。使用非Django代码,它将是简单的连接。 但是我怎么能在django中实现这个?
感谢
在Django我不得不模型A和B,B有FK参考A. A2B是一个一对多的Django的查询加入
在我的控制器代码中,我选择的根据某些标准列表并将此列表传输到模板以生成html页面。
该模板用来生成列表:{%为在list_of_a%}
的问题是,每“一”印我必须打印相关烧烤为好。使用非Django代码,它将是简单的连接。 但是我怎么能在django中实现这个?
感谢
你的问题是模糊的,但它的精神似乎是要避免以A
小号循环时产生的1个* N查询。
在Django 1.4中,您可以使用新的prefetch_related
,它仍然会生成一个额外的查询,但只是一个而不是1 * N。
以前的Django版本没有任何相似之处,但有一个名为django-batch-select的应用程序可以用来获得大致相同的功能。
如果你知道如何使用QuerySet的内在魔法,你可以自己做。例如,参见
https://github.com/benjiec/curious/blob/master/curious/graph.py
查看关于如何使用横动功能
https://github.com/benjiec/curious/blob/master/tests/curious_tests/test_graph_fk.py
'{%的B在a.b_set.all%}测试用例{{B}} {%endfor%}' – 2012-03-20 15:42:55