python - Django 模型 latest() 方法

标签 python django django-models django-queryset

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

>>> rule = Rule.objects.get(user=user)
>>> rule.id
1
>>> rule = Rule.objects.get(user=user).latest('id')

AttributeError: 'Rule' object has no attribute 'latest'

为什么会出现错误?

最佳答案

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

你提到的 latest() 函数属于 QuerySet 类。调用 .filter()、.all()、.exclude() 等,都返回一个 QuerySet。

您可能要寻找的是首先过滤特定用户,然后通过“id”获取最新结果:

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

有关 querying models 的文档,请参阅此处

关于python - Django 模型 latest() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21077865/

相关文章:

python - 无法在模板/网页中显示特殊字符 Django/Python

django - 为什么我可以在不定义所有非空字段的情况下保存 django 模型实例

python-3.x - 如何在 Django Rest 框架中获取外键表值而不是 id?

python - Django:如果相关对象不存在,则从 OneToOneField 返回 'None'?

Python 最大字符串堆

python - 使用 Python 从 HDFS 读取文件时出现连接超时错误

python - Pandas 创建没有重复的随机样本

django 的 timezone.now 不显示正确的时间

Django 自定义登录使用自己的模型

python - 在 Python 中使用的高级邮件