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