【发布时间】:2011-03-04 00:35:01
【问题描述】:
嘿,我有一个模型,里面有一块板
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板,但通过关联也会属于computing板。
我如何在计算板上运行查询并从其子板上检索所有线程(以及仅属于计算线程的任何线程)?
我已经做了,但是很粗糙,不知道有没有更多的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
【问题讨论】:
标签: django list django-queryset