0

我有一个照片模型的外键,它只有照片。

管理员将照片列为“照片对象”,而不是照片的文件名。

我尝试使用 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)
4

1 回答 1

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 文档)

#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)
于 2013-09-21T19:56:30.580 回答