2013-07-23 38 views
1

我該如何在我的價格變量下做到這一點我可以自動讓它顯示$?所以,而不是有999.99,它將顯示999.99美元。我在Django Admin中這樣做。

這裏是admin.py

from django.contrib import admin 
from purchaseorders.models import PurchaseOrder 


class PurchaseOrderAdmin(admin.ModelAdmin): 
    fields = ['product', 'price', 'purchase_date', 'confirmed'] 
    list_display = ('product', 'price', 'purchase_date', 'confirmed', 'po_number') 
admin.site.register(PurchaseOrder, PurchaseOrderAdmin) 

這裏是從models.py位

from django.db import models 
import random 

class PurchaseOrder(models.Model): 
    price = models.FloatField() 

回答

2

您可以通過兩種方式做到這一點:

添加自定義屬性PurchaseOrder

class PurchaseOrder(models.Model): 
    price = models.FloatField() 

    @property 
    def dollar_amount(self): 
     return "$%s" % self.price if self.price else "" 

並引用dollar_amount代替price

另一種方式

它添加在PurchaseOrderAdmin

class PurchaseOrderAdmin(admin.ModelAdmin): 
    fields = ['product', 'price', 'purchase_date', 'confirmed'] 
    list_display = ('product', 'dollar_amount', 'purchase_date', 'confirmed', 'po_number') 

    def dollar_amount(self, obj): 
     return "$%s" % obj.price if obj.price else "" 


admin.site.register(PurchaseOrder, PurchaseOrderAdmin) 

我個人比較喜歡選項1,這樣我們就可以重用代碼,如果相同的有與實際的應用程序完成。