我在向模型中添加自定义方法时遇到问题。我在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
我犯了什么错误?
顺便说一句,这是从模型中获取信息并将其传递给视图的好方法吗?
答案 0 :(得分:6)
您必须将经理与模型相关联:
class News(models.Model):
# ..fields go here..
objects = NewsManager()
是的,这是向模型添加“表级”功能的好方法。