Python 3.x 在Django ORM错误中添加额外的管理器方法
我正在Manager对象django中添加新方法,如下面的代码,并返回错误: “AttributeError:'Manager'对象没有“搜索”属性。” 有人能帮我吗Python 3.x 在Django ORM错误中添加额外的管理器方法,python-3.x,django-models,Python 3.x,Django Models,我正在Manager对象django中添加新方法,如下面的代码,并返回错误: “AttributeError:'Manager'对象没有“搜索”属性。” 有人能帮我吗 from django.db import models class CourseManager(models.QuerySet): def search(self, query): return self.get_queryset().filter( models.Q(name__icontain
from django.db import models
class CourseManager(models.QuerySet):
def search(self, query):
return self.get_queryset().filter(
models.Q(name__icontains=query) | \
models.Q(description_icontains=query)
)
class Course(models.Model):
name = models.CharField('Nome', max_length=100)
slug = models.SlugField('Atalho')
description = models.TextField('Descrição', blank=True)
start_date = models.DateField(
'Data de Início', null=True, blank=True
)
image = models.ImageField(
upload_to='courses/images', verbose_name='Imagem',
null=True, blank=True
)
created_at = models.DateTimeField(
'Criado em', auto_now=True
)
update_at = models.DateTimeField(
'Atualizado em', auto_now=True
)
objects = CourseManager()
我找到了我问题的答案。
CourseManager类必须从models.Manager继承,而不是从models.QuerySet继承。我找到了问题的解决方案。 CourseManager类必须从models.Manager继承,而不是从models.QuerySet继承