1
干草,我有房子董事会获取查询集(包括相关领域)
class Board(models.Model):
parent_board = models.ForeignKey('self', blank=True, null=True)
每块板可以属于另一个板
的模型,因此说
Linux
Windows
OS X
能属于所谓的板
Computing
这些电路板容纳一个Thread对象
class Thread(models.Model):
board = models.ForeignKey(Board)
现在,说我一个线程分配到Windows板,我可以很容易地得到这个对象。
但我想列出与计算
线程属于Windows的板相关联的所有线程,但它也将通过协会属于计算板。
如何在计算板上运行查询并从其子板中检索所有线程(以及任何属于计算线程的属性)?
我已经做到了,但它是非常粗糙的,我不知道是否有这样做的更多的Django的方式,
继承人我此刻的它的代码(工作)
listings = [] # blank list to hold clean values
for board in board.board_set.all(): # for each board
for listing in board.listing_set.all(): # get the listing from each board
listings.append(listing) # append to the listings list
正确,列表是一个线程,它被重命名。 – dotty 2010-06-15 15:21:23
如果我不知道董事会的名称会发生什么情况,并且我将board = Board.objects.get(pk = 4) – dotty 2010-06-15 15:23:12
board = Board.objects.get(pk = 3),然后threads = Threads。 objects.filter(Q(board__parent_board = board))是一种享受! – dotty 2010-06-15 15:24:41