gpt4 book ai didi

python - Django:生成通用 ListView 时返回多个对象错误

转载 作者:行者123 更新时间:2023-12-01 04:15:22 25 4
gpt4 key购买 nike

我一直在尝试让 Django 返回我网站的通用列表。我使用以下代码创建类 View :

class ServiceProviderListView(ListView):
context_object_name = 'contractor_list'
template_name = 'contractor_list.html'

def get_queryset(self):
self.service_type = get_object_or_404(ServiceProvider, service_type=self.args[0])
return ServiceProvider.objects.filter(service_type=self.service_type)

但是,我不断收到以下错误:

Exception Type: MultipleObjectsReturned
Exception Value:
get() returned more than one ServiceProvider -- it returned 736!

我从 Django 文档中复制了代码,但它不起作用。谁能帮忙指出错误的根源吗?

最佳答案

你应该将其替换为;

def get_queryset(self):
return ServiceProvider.objects.filter(service_type=self.args[0])

get() 将仅返回一个对象,在您的模型中将有多个具有相同 service_type 的 ServiceProvider 对象。

关于python - Django:生成通用 ListView 时返回多个对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34368687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com