我是刚到Django的,我来自ASP.Net背景。你知道吗
我试图在一个web应用程序中实现OOP概念。你知道吗
我有一个模型,里面有电影列表
网址.py
from movies import views
url(r'^recent/$', views.recentlyadded)
型号.py
from django.db import models
class MovieManager(models.Model):
def title_count(self, keyword):
return self.filter(title__icontains=keyword).count()
class Movie(models.Model):
movieid = models.AutoField(primary_key=True)
title = models.CharField(max_length=250)
objects = MovieManager()
我正在尝试使用自定义管理器MovieManager返回基于关键字的电影标题
视图.py
from movies.models import Movie
def recentlyadded(request):
r = Movie.objects.title_count('night')
return HttpResponse("test")
这将抛出错误AttributeError:'Manager'对象没有属性'title\u count'
如何打电话型号.py最近添加的方法视图.py功能?你知道吗
我想在视图中的多个视图/函数中使用recentlyadded()方法。你知道吗
返回电影标题。你可能会有这个型号.py文件
如果模型文件
视图代码是正确的,但不是模型-
MovieManager
应该从models.Manager
继承,而不是从models.Model
继承。找不到明确声明的Manager
,元类将用默认管理器覆盖Movie.objects
。你知道吗FWIW您可以通过检查pythonshell中的
Movie.objects
(或者通过阅读django.db.models.base.ModelBase
的源代码)自己找到答案。你知道吗相关问题 更多 >
编程相关推荐