0
我有一個問題,添加自定義方法到我的模型。我在django書中找到了解決方案,但它不起作用。這裏是我的模型Django管理器屬性錯誤
class NewsManager(models.Manager):
def getLastNews(self):
return self.objects.order_by('-id')[:3]
class News(models.Model):
title=models.SlugField()
shortBody=models.CharField(max_length=250)
fullBody=models.TextField()
author=models.ForeignKey(User)
代碼,現在我運行python manage.py shell
,並鍵入
from news.models import *
News.objects.getLastNews()
...
Attribute error Manager object have no attribute getLastNews
如果我做了一個錯誤?
順便說一句,這是從模型中獲取信息並將其傳遞給查看的好方法?
好的,我已經添加它,現在它的工作完美。而且我也在getLastNews中錯誤地認爲它應該是self.order_by等沒有對象。 Thx尋求幫助 – John 2010-09-26 11:28:16
還應該指出,你應該儘可能遵循django的標準慣例。例如,你可以調用方法「最新」而不是「getLastNews」。你還應該通過在你的新聞元素中添加一個'created_on'字段並用它來過濾,而不是使用id - 因爲過去人們可能會創建一篇新文章,這可能會很好嗎?以我的這個項目爲例:http://github.com/monokrome/django-news/blob/master/news/models.py – monokrome 2010-09-26 22:35:40