【发布时间】:2011-06-16 14:03:27
【问题描述】:
我有一个 django 应用程序,其中包含一些用于上传文件的模型。 创建新对象并显示现有对象时,我需要显示不同的字段。 我有以下管理类:
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”对象没有属性“标签”
那么如何将 size 函数的值作为 read_only 字段插入到我的 self.fields 中?
谢谢。
【问题讨论】:
标签: django django-admin