2013-09-21 79 views
0

我有一個照片模型,它只有照片的外鍵。django文件上傳文件沒有在模型中顯示

管理員將照片列爲「照片對象」,而不是照片的文件名。

我試着用一些來自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) 

回答

3

兩種方式:

首先,在照片模式,打造 '__ 統一 __' 方法

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文檔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) 
+0

第一部分工作!謝啦! – R0b0tn1k