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()

2: 管理モデル (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 に答える