是否有任何Django函数可以让我从数据库中获取对象,或者如果没有匹配的对象,则没有?

现在我用的是:

foo = Foo.objects.filter(bar=baz)
foo = len(foo) > 0 and foo.get() or None

但这还不是很清楚,到处都是,这很混乱.

推荐答案

在Django 1.6中,可以使用first() Queryset方法.它返回与queryset匹配的第一个对象,如果没有匹配的对象,则返回None.

用法:

p = Article.objects.order_by('title', 'pub_date').first()

Django相关问答推荐

如何创建为模型创建信号的Djangodecorator ?

我无法在Django模板中使用Get_Foo_Display

Django为不同应用程序发出信号

执行官/start.sh:没有这样的文件或目录

Django多对多关系报错:<title> object (None)>需要先设置id字段的值.

Django 相当于子查询

使用 Crispy Forms 时 Django 返回 'TemplateDoesNotExist'

带有代码完成功能的 python / django 的 Sublime Text 2 和 3 设置

Django 模板:翻译带有 HTML 的文本块的最佳实践

是否可以在没有模型的情况下创建自定义管理视图

如何判断 Python unicode 字符串是否包含非西方字母?

Django中的左外反向select_related?

有没有办法将变量传递给 Django 中的 extended模板?

Django,如何从模型表单的 Select 字段中删除空白 Select ?

在 Django 中获取下一个和上一个对象

从 virtualenv 中,pip freeze > requirements.txt 给出了一堆垃圾!如何修剪它?

Django:从视图中添加 non_field_error?

Django查询否定

在 PyPy 下运行 Django 的缺点?

django-getlist()