2012-07-16 32 views
-3

我想創建一個允許用戶在表格表示中存儲信息的模型。我想實現的主要目標是允許手動更改表格的可能性,例如刪除/添加列,而無需編輯代碼。允許在不編輯代碼的情況下添加/刪除列的文本表模型

我無法找到如何爲此創建一個優雅的模型。能否請你幫忙?

+0

你使用了錯誤的工具即可。 – 2012-07-16 18:17:03

+0

這與模型沒有多大關係。您可以授予用戶編輯/刪除數據的權限,然後您需要編寫視圖來完成此操作。 – lciamp 2012-07-16 19:39:55

+0

聽起來好像您希望用戶能夠像編輯類似JSON的文檔存儲系統(如MongoDB)中那樣編輯對象。調查一下noSQL系統是否可以滿足您的需求。 – OregonTrail 2012-07-16 20:40:20

回答

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 
相關問題