2011-06-13 254 views
1

在我的Django管理領域選擇正確的顯示,我想配置自定義欄顯示:Django管理問題:在list_display

我的模型:

class Batch(models.Model): 
    WEIGHT_UNIT = (
     (1, 'G'), 
     (1000, 'K'), 
     (1000 * 100, 'Q'), 
     (1000 * 1000, 'T') 
    ) 

    batch_number = models.CharField(max_length=12, unique=True) 
    available_quantity_value = models.DecimalField(max_digits=10, decimal_places=3) 
    available_quantity_unit = models.IntegerField(choices=WEIGHT_UNIT) 

我的模型管理員:

class BatchAdmin(forms.ModelAdmin): 
    list_display = ('batch_number', 'available_quantity_value', 'available_quantity_unit') 

如果我這樣做了,我的管理員在批次列表頁面中有兩列,第二列顯示WEIGHT_UNIT常量(K,G等)的值。

現在,我想有一個單獨的列,如「10K」,「250G」,等等顯示的東西因此,這裏是我的新模式管理:

class BatchAdmin(forms.ModelAdmin): 
    list_display = ('batch_number', 'get_available_quantity') 

,並在我的模型:

def get_available_quantity(self): 
    return '%s%s' % (self.available_quantity_value, self.available_quantity_unit) 
get_available_quantity.shirt_description = _('Available quantity') 

但是,我在我的專欄中得到的是類似於「101000」,「2501」等。我如何告訴Django顯示從選項選項中獲取的值?

回答