Python User.py异常类型:TypeError异常值:';经理';对象是不可编辑的

Python User.py异常类型:TypeError异常值:';经理';对象是不可编辑的,python,django,Python,Django,您好,我在Django中遇到了一个小问题,我创建了一个数据库,现在我想打印这个数据库的查询,所以在我的user.py文件中有以下代码 def user(request): user_list = User.objects user_dict = {'user_data': user_list} return render(request,'AppTwo/User.html',context=user_dict) 这里我得到了以下错误: User.py异常类型:TypeError异常值:“

您好,我在Django中遇到了一个小问题,我创建了一个数据库,现在我想打印这个数据库的查询,所以在我的user.py文件中有以下代码

def user(request):
user_list = User.objects
user_dict = {'user_data': user_list}



return render(request,'AppTwo/User.html',context=user_dict)
这里我得到了以下错误: User.py异常类型:TypeError异常值:“Manager”对象不可编辑

要解决此问题,我需要将代码更改为:

def user(request):
user_list = User.objects.order_by('first_name')
user_dict = {'user_data': user_list}



return render(request,'AppTwo/User.html',context=user_dict)
但我不明白为什么简单地添加order_by('first_name')会将对象强制转换为列表?为什么我需要这个?我很难理解,也许有人能帮我解释一下这里发生了什么。
非常感谢您

用户。对象
不会返回结果,它只是对与模型关联的管理器的引用

管理器是一个类对象,它提供了所有可用于在模型上创建查询和过滤器的方法

只有在调用诸如
all()
filter
order\u by
之类的函数时,才能获得查询集

管理器甚至可以被覆盖以自动提供特殊过滤器,或者您也可以在模型中添加额外的管理器以根据上下文使用不同的过滤器/查询


文件:


我们需要迭代查询结果,因此我们必须给出objects.all()或objects.order\u by('name')

您可以添加此链接