2011-06-16 59 views
1

我有一個用於上傳文件的django應用程序。 創建新對象並顯示現有對象時,我需要顯示不同的字段。 我有以下管理類:在django中顯示文件大小admin

class ResourceAdminForCustomer(ModelAdmin): 

    list_display = ["name", "type", "size"] 
    list_filter = ['type'] 

    def get_form(self, request, obj=None, **kwargs): 
     if obj: 
      self.fields = ("name", "type", "size", "tags") 
     else: 
      self.fields = ("name", "type", "media", "description", "tags") 
     return super(ResourceAdminForCustomer, self).get_form(request, obj, \ 
                   **kwargs) 

    def size(self, obj): 
     file = '%s/customers/%s/resources/%s' \ 
      % (settings.MEDIA_ROOT, obj.customer, obj.media.name.split("/")[-1]) 
     if os.path.exists(file): 
      return "%0.1f KB" % (os.path.getsize(file)/(1024.0)) 
     return "0 MB" 

當我試圖打開我得到的形式:

陷入AttributeError的同時渲染:「NoneType」對象有沒有屬性「標籤」

那麼如何將大小函數的值作爲read_only字段插入到self.fields中?

謝謝。

回答

相關問題