行单元格默认不显示在Djangotables2中,模型问题?

2024-05-15 01:19:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想我继承的WorkDjango项目可能有问题。我使用django-tables2来显示信息。大多数情况下,它是以一种直观的方式工作的。你知道吗

但是,当我呈现一些表时,包含数据单元的实际列不会显示出来。所有表属性都显示为列,但不是数据列。我认为问题可能与模型的布局有关。你知道吗

给定的单元格具有行和列属性。行有单元格集和表属性,但没有列集。表具有行集合和列集合属性。你知道吗

所以这里的问题是行没有列集合属性吗?因此,当它查找要呈现的数据时,并没有找到这些列。你知道吗

如果我想得到与一行相关联的所有单元格,那么在每个列上迭代寻找属于该列的单元格集中的单元格是一个笨拙的过程(见下文)。你知道吗

(在某些情况下,我可以在djangoèu tables2视图中设计定制的列,但有一个应用程序,用户可以自己创建需要动态呈现的表。)

例如,以下是行的\uu str \uu方法:

def __str__(self):
    cell_values = ()

    for column in self.table.column_set.all().order_by('column_name'):
        cell = self.cell_set.get(column__column_name=column.column_name)
        if cell:
            cell_values.append(cell.value)
        else:
            cell_values.append("")
    return "::".join(cell_values)

在我看来,这似乎非常笨拙,我怀疑这是由于一个模型的缺陷,但我不太了解Django知道在哪里。提取行的单元格值的困难,我怀疑是默认呈现找不到它们的核心所在。你知道吗

编辑时: 为了澄清,我通过传递一个Queryset来呈现表。也许我需要像https://django-tables2.readthedocs.io/en/latest/pages/table-data.html#table-data那样传递一系列的dict?我不想走那条路,因为它看起来很笨重。你知道吗


Tags: 数据djangoname模型self属性table情况

热门问题