-3

我想创建一个模型,允许用户在表表示中存储信息。我想要实现的主要目标是允许手动更改表的可能性,例如删除/添加列,而无需编辑代码。

我不知道如何为此目的创建一个优雅的模型。能否请你帮忙?

4

1 回答 1

0

您不应该制作某种即时更改表的系统。这听起来像是一条疯狂的道路......相反,您可以使用您需要的数据类型对表格布局进行建模。

例如:

INTEGER, FLOAT, TEXT = range(3)

class Table(models.Model):
    columns = models.ManyToManyField('TableColumn')

class TableColumn(models.Model):
    name = ...
    data_type = models.SmallIntegerField(choices=[(INTEGER, 'Integer'), ...])

class TableRow(models.Model):
    order = ...
    column = models.ForeignKey('TableColumn')
    value_float = ...
    value_text = ...
    value_integer = ...

    def get_value(self):
        if self.column.data_type == INTEGER:
            return self.value_integer
于 2012-07-17T01:04:55.200 回答