Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
django-doc-18-zh
提交
3db57100
D
django-doc-18-zh
项目概览
OpenDocCN
/
django-doc-18-zh
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
django-doc-18-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3db57100
编写于
8月 29, 2015
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix2
上级
8d4d12dd
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
10 deletion
+12
-10
2_2_1_Making queries.md
2_2_1_Making queries.md
+12
-10
未找到文件。
2_2_1_Making queries.md
浏览文件 @
3db57100
<!--
译者:WrongWay [www.wrongway.me]
-->
# 执行查询 #
一
但
你建立好
*数据模型*
之后,django会自动生成一套数据库抽象的API,可以让你执行增删改查的操作。这篇文档阐述了如何使用这些API。关于所有模型检索选项的详细内容,请见
*[数据模型参考](https://docs.djangoproject.com/en/1.8/ref/models/)*
。
一
旦
你建立好
*数据模型*
之后,django会自动生成一套数据库抽象的API,可以让你执行增删改查的操作。这篇文档阐述了如何使用这些API。关于所有模型检索选项的详细内容,请见
*[数据模型参考](https://docs.djangoproject.com/en/1.8/ref/models/)*
。
在整个文档(以及参考)中,我们会大量使用下面的模型,它构成了一个博客应用。
...
...
@@ -59,9 +55,9 @@ class Entry(models.Model):
**save()**
方法没有返回值。
> 请参见
>
>
> **save()**方法带有一些高级选项,它们没有在这里给出,完整的细节请见**save()**文档。
>
>
> 如果你想只用一条语句创建并保存一个对象,使用**create()**方法。
## 保存对象的改动 ##
...
...
@@ -128,7 +124,7 @@ AttributeError: "Manager isn't accessible via Blog instances."
```
> **注意**
>
>
> 管理器通常只可以通过模型类来访问,不可以通过模型实例来访问。这是为了强制区分表级别和记录级别的操作。
对于一个模型来说,
**Manager**
是
**QuerySet**
的主要来源。例如,
** Blog.objects.all() **
会返回持有数据库中所有
**Blog**
对象的一个
**QuerySet**
。
...
...
@@ -572,7 +568,7 @@ Poll.objects.get(
... 但这个查询却是无效的。
> 参见
>
>
> 在 Django 的单元测试 OR查询实例(OR lookups examples) 中展示了 Q 的用例。
## 对象比较 ##
...
...
@@ -865,4 +861,10 @@ Entry.objects.filter(blog=5) # Query using id directly
建议的方式是在你的 model 自定义方法或是自定义 model 的 manager 方法来运行查询。虽然 Django 不要求数据操作必须在 model 层中执行。但是把你的商业逻辑代码放在一个地方,从代码组织的角度来看,也是十分明智的。详情请查看 执行原生SQL查询(Performing raw SQL queries).
最后,要注意的是,Django的数据操作层仅仅是访问数据库的一个接口。你可以用其他的工具,编程语言,数据库框架来访问数据库。对你的数据库而言,没什么是非用 Django 不可的。
\ No newline at end of file
最后,要注意的是,Django的数据操作层仅仅是访问数据库的一个接口。你可以用其他的工具,编程语言,数据库框架来访问数据库。对你的数据库而言,没什么是非用 Django 不可的。
> 译者:[Django 文档协作翻译小组](http://python.usyiyi.cn/django/index.html),原文:[Executing queries](https://docs.djangoproject.com/en/1.8/topics/db/queries/)。
>
> 本文以 [CC BY-NC-SA 3.0](http://creativecommons.org/licenses/by-nc-sa/3.0/cn/) 协议发布,转载请保留作者署名和文章出处。
>
> [Django 文档协作翻译小组](http://python.usyiyi.cn/django/index.html)人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。交流群:467338606。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录