Django经理属性错误

时间:2010-09-26 11:05:03

标签: django django-models

我在向模型中添加自定义方法时遇到问题。我在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

我犯了什么错误?
顺便说一句,这是从模型中获取信息并将其传递给视图的好方法吗?

1 个答案:

答案 0 :(得分:6)

您必须将经理与模型相关联:

class News(models.Model):
    # ..fields go here..

    objects = NewsManager()

是的,这是向模型添加“表级”功能的好方法。