在django模板中显示二维数据数组

时间:2013-12-13 23:53:26

标签: django templates dictionary multidimensional-array django-templates

我有一堆woods和一堆properties,描述了木头。特定木材的属性由Answer给出(基本上answers = woods x properties):

class Wood(models.Model):
    desc = models.CharField(max_length=63)

class Property(models.Model):
    desc = models.CharField(max_length=63)

class Answer(models.Model):
    desc = models.CharField(max_length=255)
    wood = models.ForeignKey('Wood', related_name='answers', null=True, default=None)
    property = models.ForeignKey('Property', related_name='answers', null=True, default=None)

现在我想在表格中显示我的数据。每个木材有一行,每个属性有一列。 当我使用第一行作为包含所有属性(property.desc)的标题和第一列包含所有属性(wood.desc)时,我的问题就开始了。我找不到从模板中访问给定AnswerWood的{​​{1}}的方法。这很容易,如果我可以通过键访问字典值,键是变量 - 但据我所知,这在模板中是不可能的。

我确实找到了一种越来越难看的方法:我可以在视图中创建嵌套列表并在模板中遍历它们。我只是依赖于列表项保持有序的事实,因此答案与标题行匹配。创建这个中间列表结构感觉是错误的,而实际数据结构就像这样简单。

我希望有人知道如何直接在模板中映射我的数据结构。

0 个答案:

没有答案