class BlogList(models.Model):
title = models.CharField(max_length=100)
def get_first_article_image(self):
if self.bloglist_articles.exists():
bloglist = self.bloglist_articles.filter(
Q(image_link != '') | Q(image_file != '') ##<---error line
).order_by('-id')[:1].get()
if bloglist.image_file:
return '/'.join([settings.MEDIA_URL, bloglist.image_file.name])
if bloglist.image_link:
return bloglist.image_link
return None
class BlogArticle(models.Model):
bloglist = models.ForeignKey(BlogList, related_name='bloglist_articles')
image_file = models.ImageField(upload_to='image/', default='', blank=True)
image_link = models.CharField(max_length=2000, blank=True)
image_embed = models.CharField(max_length=2000, blank=True)
,如果我在模板調用諸如NameError而用品質對象模型中的方法
<a href="{{ bloglist_obj.get_first_article_image }}">{{bloglist.title}}</a>
我越來越
NameError at/
global name 'image_link' is not defined
我究竟做錯了什麼?
什麼觀點給出這樣的錯誤? – 2014-10-17 11:56:12
@BurhanKhalid我在模板中調用它,請參閱我的更新 – doniyor 2014-10-17 12:00:33
什麼是確切的錯誤行,因爲'bloglist.image_file'將不起作用 - 過濾器返回一個列表而不是對象。 – 2014-10-17 12:02:54