我将如何摆脱错误'Manager'对象没有属性'active'



我的搜索字段不起作用,我收到错误,显示"'管理器'对象没有属性'活动'">

我试图谷歌并解决它,但仍然无法删除错误

views.py

def IndexView(request):
query_list = Documents.objects.active()
if request.user.is_staff or request.user.is_superuser:
query_list = Documents.objects.all()
query = request.GET.get('q')
if query:
query_list = query_list.filter(Q(docs_name__icontains=query) |
Q(item_type__icontains=query) |
Q(Description__icontains=query)).distinct()

paginator = Paginator(query_list, 5)
page = request.GET.get('page')
try:
qs = paginator.page(page)
except PageNotAnInteger:
qs = paginator.page(1)
except EmptyPage:
qs = paginator.page(paginator.num_pages)
title = "Home-Back My Item"

return render(request, "loststuffapp/home.html", context={"documents":Documents.objects.all})

model.py

class Documents(models.Model):
docs_name = models.CharField(max_length=200,verbose_name="Jina la Nyaraka")
item_type = models.CharField(default="", max_length=100,verbose_name="Aina ya nyaraka" )
police_station = models.CharField(max_length=255, verbose_name="Kituo cha polisi")
phone_no = models.CharField(verbose_name="Namba yako ya simu", max_length=10, blank=False, 
validators=[int_list_validator(sep=''),MinLengthValidator(10),])
date = models.DateTimeField(default=timezone.now,verbose_name="Date")
Description = models.TextField(blank=True, null=True,verbose_name="Maelezo zaidi")
pay_no = models.IntegerField(default=0,verbose_name="Namba ya malipo")
publish = models.BooleanField(default=False)
image = models.ImageField(upload_to="Documents",blank=False, verbose_name="Picha ya nyaraka")
"""docstring for Documents"""
def __str__(self):
return self.docs_name

首页.html

<li>
<form action="{% url 'loststuffapp:IndexView' %}" method="get">
<input name="q" type="text" placeholder="Search..." value=" 
{{request.GET.q}}">
</form>
</li>

问题就在这里:

query_list = Documents.objects.active()  <---

要解决此问题,您需要使用默认管理器方法,例如filter

query_list = Documents.objects.filter(publish=True)

或者,您可以编写自定义管理器方法。

最新更新