2012-04-20 1 views
1

관리자장고의 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를'필드를 참조하는 방법 형태.

어떻게 당신은 photoimage_thumbnail하지를 참조해야이

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

+0

이 코드가 도움이 되었습니까? 이 오류 FileObject가 정의되지 않은 오류가 발생했습니다 .. 그리고 그것을 가져 오는 방법을 알아낼 수 없습니다 .. 어떤 도움을 간절히 기다리고 있습니다 .. 감사합니다 Logged –

답변

0

같은 썸네일

장고의 InlineModelAdmin TabularInline 또는 TabularInline 쇼

.

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

mixin-approach을 사용해 볼 수도 있습니다.