我有照片模型的外键,只有照片。
管理员将照片列为“照片对象”,而不是照片的文件名。
我尝试使用stackoverflow中的一些提示来显示文件名,但没有运气。
如何在管理员中显示文件名?
这是我的model.py:
class Photo(models.Model):
photo = models.FileField(upload_to='uploads/%Y/%m/%d',null=True)
def filename(self):
return os.path.basename(self.file.name)
def clean(self):
return os.path.basename(self.file.name)
答案 0 :(得分:3)
两种方式:
首先,在Photo模型中,创建' __ unicode __ '方法
class Photo(models.Model):
photo = models.FileField(upload_to='uploads/%Y/%m/%d',null=True)
def filename(self):
return os.path.basename(self.file.name)
def clean(self):
return os.path.basename(self.file.name)
def __unicode__(self):
return self.filename()
二: 在管理模型中(参见Django docs here)
#In admin.py
from django import admin
class PhotoAdmin(admin.AdminModel):
list_display("id", "filename")
def filename(self, obj): # 'obj' represents a Photo instance
return obj.filename()
admin.site.register(Photo, PhotoAdmin)