2011-06-16 62 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中?

谢谢。

回答

相关问题