【问题标题】:Django, filtering the most recently added elementDjango,过滤最近添加的元素
【发布时间】:2010-02-04 09:56:00
【问题描述】:

我想检索最近添加的元素,如果根本没有,请分配一些默认值,例如:

query = X.objects.filter(name="aa",type="b")[0]
if query:
    resultname =query.name
    resulttype = query.type
else:
    resultname = "a default name"
    resulttype = "a default type"

这不起作用,因为它会在第一行 query = X.objects.filter(name="aa",type="b")[0] 执行并且过滤的查询列表为空时引发异常。

【问题讨论】:

  • 这不一定获取最近添加的元素。只是QuerySet 的第一个元素。您必须按模型的字段订购,例如created_at.

标签: django django-queryset


【解决方案1】:

索引QuerySet 会产生单个模型(如果存在)。如果不存在则捕获异常,或者在 QuerySet 上预先使用 len() 以查看是否找到任何记录。

【讨论】:

  • 如果不存在相关异常会是什么?谢谢
  • IndexError 除外:似乎修复它,ty
猜你喜欢
  • 2015-05-22
  • 2010-12-08
  • 2010-09-08
  • 2021-05-13
  • 2021-08-17
  • 1970-01-01
  • 2021-08-10
  • 2011-11-18
  • 1970-01-01
相关资源
最近更新 更多