购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1.4 使用Django Shell

有了数据库中的数据,如何对这些数据进行访问?我们先使用Django的Shell尝试一下对数据库的访问操作,体验Django ORM的强大之处。

打开终端界面,执行命令:python manage.py shell。此时,会进入命令提示符(>>>)状态。我们可以在命令提示符后方编写代码。

首先,导入模型类。

然后,查询一首名称为“春夜喜雨”的古诗。

“古诗.objects”是模型管理器对象,包含各种访问数据库的方法。

get方法用于查询唯一的数据对象,参数就是查询条件。

注意

一般只有在查询结果唯一时使用get方法,如果有多个查询结果时使用get方法,会导致程序异常。当有多个查询结果时,需要使用filter方法。

当我们获取了一首古诗对象,就可以调用对象的属性。例如,调用“诗句”属性。

还可以调用“作者”属性,得到一个“作者”对象。

可以多层级进行调用。例如,继续调用“作者”对象的“姓名”属性。

在“名句”模型类中,我们为作者字段添加过“related_name”的参数为“相关名句”。在这里它能够派上用场了。我们可以通过“作者”对象关联查询这名作者的所有“名句”。

得到的是一个关联管理器对象。通过它能够得到某一作者的全部名句对象。例如,我们查询一下作者“杜甫”共有多少条“名句”。

还能够查询第一条“名句”的诗句。

当然,也能查询最后一条。

如果需要全部的“名句”,也可以获取到全部“名句”集合。

先尝试到这里。示例代码中,我们没有编写任何SQL语句,却能够灵活地对数据库进行访问,这就是Django ORM的强大之处,如图4-6所示。

图4-6 使用Django Shell访问数据库

对于数据库的访问不能仅仅停留在Django的Shell中,最终还是要把数据呈现到用户打开的网页中。 bnG4k9hzBTbwsyYlp6D4axPqKBnXC8+1gcGkzM+YOXy1/n/1ry54sWEl/XCTH0BX

点击中间区域
呼出菜单
上一章
目录
下一章
×