2013-01-22 48 views
3

任何人都可以提供一个清晰的例子,说明如何使用django-tables2来选择并呈现来自多个相关模型(即关系连接)的数据来创建表格对象?文件暗示这是可能的,但没有说明如何。使用django-tables2访问相关模型

在正常的Django select_related()函数很好地工作,但我不能解决如何在django-tables2中实现这个功能。我注意到有类似主题的其他unanswered questions

回答

3

首先,select_related()不需要访问相关数据,这是出于性能原因。对于django-tables2,您需要定义一个accessor。一个例子是:https://github.com/bradleyayers/django-tables2/issues/106

+0

谢谢ustun!这非常有帮助。在表定义中,'foreigncolumn = tables.Column(accessor ='foreignmodel.foreigncolumnname')'是一种享受。 – chill

+0

很高兴听到这个工作!一个好的提示是在Githup回购的问题部分搜索关键字,通常你会发现除了SO之外的解决方案。你能将答案标记为已接受吗?谢谢。 – ustun

+2

怎么样去1:N而不是N:1?例如 - 如果我想连接表格单元格中的所有相关模型,该怎么办?使用旧的'render_ (self,record)'方式,这将是可能的。我尝试传递'lambda记录:''.join(...)'到'accessor =',但它只是给了我'None'('--')。我不想为模型添加这样的方法,我知道它的工作原理。我只是不认为它属于“模型层”,而是属于“表层”('tables.py')。 –