Python Django model latest()方法

Python Django model latest()方法,python,django,django-models,django-queryset,Python,Django,Django Models,Django Queryset,我有以下问题(顺便说一句,我想我前一天没有遇到过这个问题): 为什么会出现错误?属于QuerySet,而不是model 替换以下行: rule = Rule.objects.get(user=user).latest('id') 与: 模型管理器的get()函数返回模型本身的一个实例 您提到的最新()函数属于QuerySet类。调用.filter()、.all()、.exclude()等都会返回查询集 您可能希望首先筛选特定用户,然后通过“id”获取最新结果: rule = Rule.obje

我有以下问题(顺便说一句,我想我前一天没有遇到过这个问题):

为什么会出现错误?

属于
QuerySet
,而不是model

替换以下行:

rule = Rule.objects.get(user=user).latest('id')
与:

模型管理器的get()函数返回模型本身的一个实例

您提到的最新()函数属于QuerySet类。调用.filter()、.all()、.exclude()等都会返回查询集

您可能希望首先筛选特定用户,然后通过“id”获取最新结果:

rule = Rule.objects.filter(user=user).latest('id')

请参见此处查看

上的文档,再次感谢!我只是好奇为什么get方法有问题?@GregoryR,因为它返回的是一个模型实例,而不是QuerySet对象。(与
过滤器
方法不同)。
rule = Rule.objects.filter(user=user).latest('id')
rule = Rule.objects.filter(user=user).latest('id')