2010-10-12 48 views
1

我想知道是否有一種方法來基於多個字段的串聯來計算管理站點中的字段。Django管理站點:如何從多個字段值計算字段?

基本上我有一個產品模型與不同的領域關聯到各種屬性 (顏色,大小,長度等)。

我想計算碼值是一樣的各種屬性字段的值的串聯:

code = colour + "_" + size + "_" + length 
+0

這有點含糊。你想什麼時候計算它?展示中?你想將計算值保存在數據庫中嗎? – 2010-10-12 18:00:32

+0

嘿。對於模糊性抱歉,Im在它的一開始:)理想情況是它會像在自動填充中一樣在顯示器上動態計算。肯定它必須被保存。謝謝! – 2010-10-12 19:52:48

回答

0

有幾個方法可以做到這一點。我已經做了這樣的事情在我的模型clean方法:

def Product(models.Model) 
    # field definitions here 

    def clean(self): 
     self.code = self.colour + "_" + self.size + "_" + self.length 

在模型層做它(這隻會對Django 1.2 and above版本一起使用)的,它會到處適用的優點,而不只是你在哪裏使用特定的表單。

+0

does not似乎工作:它會引發類型的錯誤「實例需要有一個主鍵值之前可以使用多對多的關係。」字符串連接也似乎不起作用。 – 2010-10-12 20:27:59

0

看看ModelAdmin.prepopulated_fields