Joh*_*ohn 0 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)
Run Code Online (Sandbox Code Playgroud)
现在我跑去python manage.py shell打字
from news.models import *
News.objects.getLastNews()
...
Attribute error Manager object have no attribute getLastNews
Run Code Online (Sandbox Code Playgroud)
我在哪里犯了错误?
顺便说一句,这是从模型获取信息并将其传递给视图的好方法吗?
您必须将经理与模型相关联:
class News(models.Model):
# ..fields go here..
objects = NewsManager()
Run Code Online (Sandbox Code Playgroud)
是的,这是向模型添加"表级"功能的好方法.
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |