2012-04-20 2 views
1

管理は、DjangoのInlineModelAdmin TabularInlineやStackedInlineショーのサムネイル

class PersonInlines(admin.StackedInline): 
    model = Person 
    extra = 0 

class CompanyAdmin(admin.ModelAdmin): 
    inlines = (PersonInlines,) 
    fields = ('name',) 

admin.site.register(Company, CompanyAdmin) 

class PersonAdmin(admin.ModelAdmin): 
    def image_thumbnail(self, obj): 
     if obj.photo: 
      image = FileObject(obj.photo.name) 
      if image.filetype == "Image": 
       return '<img src="%s" />' % image.version_generate(ADMIN_THUMBNAIL).url 
    else: 
     return "" 

    image_thumbnail.allow_tags = True 
    image_thumbnail.short_description = "Thumbnail" 

    fields = ('first_name', 'last_name', 'photo') 
    list_display = ('first_name', 'last_name', 'photo',) 

admin.site.register(Person, PersonAdmin) 

モデル

def upload_to(instance, filename): 
    filename = time.strftime('%Y%m%d%H%M%S') 
    ym = time.strftime('%Y%m') 
    return 'uploads/%s/%s.jpg' % (ym,filename) 

class Person(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 

    photo = models.ImageField(u"Image (Upload)",upload_to=upload_to) 
    company = models.ForeignKey('Company') 

    def image(self): 
     if self.photo: 
      return FileObject(self.photo.name) 
     return None 


class Company(models.Model): 
    name = models.CharField(max_length=30) 
    def __unicode__(self): 
     return self.name 

エラーに 'PersonAdmin.fields' から欠落している 'image_thumbnail' をフィールドを参照する方法フォーム。

どのようにDjangoのInlineModelAdmin TabularInlineまたはTabularInlineショーサムネイルに

あなたがimage_thumbnailにしていないphotoを参照する必要があり、この

http://i.stack.imgur.com/hz2Ep.jpg

+0

このコードはあなたのために機能しましたか?私はこのエラーを取得していますFileObjectは定義されていませんエラー..と私はそれをインポートする方法を把握できませんでした..任意のヘルプは熱望して待って..ありがとう –

答えて

0

のような。

fields = ('first_name', 'last_name', 'image_thumbnail') 

このmixin-approachを使用することもできますが、

関連する問題