2014-06-16 159 views
0

我试图扩展已有的模型,所以我在其中添加了“缩略图”。不幸的是,与此相关的功能是不承认和Django控制台给我:模型中的功能无法识别

thumbnail = models.ImageField(upload_to=_get_upload_image, blank=True, null=True) 
NameError: name '_get_upload_image' is not defined 

有人可以帮我解决这个问题吗?

的Django 1.6.5 models.py(短版)

class Feed(models.Model): 
    link = models.CharField(blank=True, max_length=450) 
    url = models.CharField(blank=True, max_length=450) 
    title = models.CharField(blank=True, null=True, max_length=250) 
    category = models.ForeignKey(Category, blank=True, null=True) 
    user = models.ForeignKey(User, blank=True, null=True) 
    last_update = models.DateField(blank=True, null=True, editable=False) 
    country = models.ForeignKey(Country, blank=True, null=True) 
    thumbnail = models.ImageField(upload_to=_get_upload_image, blank=True, null=True) 

    class Meta: 
     unique_together = (
      ("url", "user"), 
     ) 

    def _get_upload_image(instance, filename): 
     return "images/%s_%S" % (str(time()).replace('.','_'), filename) 
+1

变化_get_upload_image'的'接入从一个类的方法来一个辅助方法(de-indent一级),它将工作 – karthikr

+0

我已经在这个类中有更多的功能,这是应用django-feedme,我想扩展它。 – Robert

回答

0

我解决了这个通过将功能上类的顶部

class Feed(models.Model): 

    def _get_upload_image(instance, filename): 
     return "images/%s_%S" % (str(time()).replace('.','_'), filename) 

    link = models.CharField(blank=True, max_length=450) 
    url = models.CharField(blank=True, max_length=450) 
    title = models.CharField(blank=True, null=True, max_length=250) 
    category = models.ForeignKey(Category, blank=True, null=True) 
    user = models.ForeignKey(User, blank=True, null=True) 
    last_update = models.DateField(blank=True, null=True, editable=False) 
    country = models.ForeignKey(Country, blank=True, null=True) 
    thumbnail = models.ImageField(upload_to=_get_upload_image, blank=True, null=True)