Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

运行manage.py提供的shell命令:

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

导入sign应用下Model中的Event类和Guest类:

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

获得table中的所有对象:table.objects.all()

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

一、插入数据

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

刷新页面查看,可以看到数据已添加成功。

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

id可以不填写,可以自动生成的,并且在shell命令中可以看到一段RuntimeWarning警告,这跟UTC有关。目前解决最快速简单的方式是在../settings.py中设置USE_TZ = False。修改后需要使用“quit()”命令退出shell模式再重新进入shell命令生效。

还有一种方法可以插入数据,这只需要一个语句。通过table.objects.create()

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)


二、查询数据

通过table.objects.get()方法查询数据库,如果不存在的话,将会报DoesNotExist提示。

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

最后查询地址为“成”的发布会名称时,报错了,是因为没有完全匹配的字段,但一般情况我们会用模糊查询,则需要换个查询方式。

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

address与contains之间用双下划线连接。contains部门被Django翻译为sql的like语句。

如果想要查询数组中第一个的参会人数,用下面的语句。

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

接下来使用联表查询。查询电话为“18292234434”的嘉宾参与的发布会信息。

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

三、删除数据

查询地址为“成都”的发布会并删除。

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)

四、更新数据

Django学习笔记十一:使用Django自带Python API,进行数据库表操作(shell命令)