![c0f41181c8dd228cc64cfdc1cbd04b20.png](https://i-blog.csdnimg.cn/blog_migrate/7e1797e481792c64e5a30024cb77dd38.jpeg)
上一篇我们成功的使Django应用连接上了我们配置的数据库,并且根据我们编写的模型,顺利的映射到了数据库的表,表结构和模型的字段也是一一对应的,今天我们就先从交互式的python命令行中,体验一下Django为我们提供的操作数据库相关的API。
![ce7ed5a325fa28b22cb1111620c4366f.png](https://i-blog.csdnimg.cn/blog_migrate/3b10d55a102e878db9957a8783986b0b.jpeg)
首先还是打开manage.py的命令行,输入shell的命令(如果是在终端中,需要切换到对应的目录下,输入命令python manage.py shell打开交互界面):
![779357b595421eb09496722e22f8770e.png](https://i-blog.csdnimg.cn/blog_migrate/18b2367f7e528c22d0c3afe60f5caef0.jpeg)
这时就会打开交互式的python命令行:
![5cbb7fb6970787283ff3c91747a56a39.png](https://i-blog.csdnimg.cn/blog_migrate/d4aa90104b4fee992d04672052150352.jpeg)
首先我们导入前面编写的班级的模型,然后查询所有模型的集合:
![deab92f625ea05d6d9d81de5febd3eac.png](https://i-blog.csdnimg.cn/blog_migrate/279e634ad37b143d7253634d24ac6164.jpeg)
由于还没有添加数据,所以查询出来的数据是空的,也就是一个空的集合,这样吧,先来个单个实体的增删改查来看一下Django提供的操作数据库的API:
![205080f6bdbba3a87e2206ef99233de6.png](https://i-blog.csdnimg.cn/blog_migrate/cf3882980509424ecff2df74ad349b00.jpeg)
我们利用create的API增加了一个班级,查询全部也能查询出来一条数据,从数据库中看,增加了一条记录:
![0d448dfb577b70af8c06eb1e687ce20b.png](https://i-blog.csdnimg.cn/blog_migrate/8d06a0759b93d2a74d83f68122cf6640.jpeg)
![73f3ba85162625f3ff087b26aa0a12f4.png](https://i-blog.csdnimg.cn/blog_migrate/0e94b8d5f6a31d30ee6d452408d50cb5.jpeg)
从上面截图上可以看出,查询出来了,但是显示的不是很友好,就像Java中的实体类,没有改写toString()方法,导致显示的不友好,在Django应用中,模型的显示可以按照下面的更改:
![b40782e78cf58ae79373b5bac28ed171.png](https://i-blog.csdnimg.cn/blog_migrate/9e71814c2cffc4ccba498ce696989098.jpeg)
这样再次查询的时候,就会显示的很友好了:
![a31cf318a17bbd9d1a67ee2ad48ac5d1.png](https://i-blog.csdnimg.cn/blog_migrate/d5dc21446eabf7e68f0e3aecebd61343.jpeg)
创建三个学生实体,来看一下班级和学生是怎么通过外键关联来查询的:
![17161eaa1e9de289189ea54655b5f4ab.png](https://i-blog.csdnimg.cn/blog_migrate/f3e12663420c50e3573dec5ff27d98a8.jpeg)
修改和增加的API如下操作:
![622505d3509f97baf565326ba2c867d9.png](https://i-blog.csdnimg.cn/blog_migrate/748886eead1a3ebd0e6c17519ab5c94f.jpeg)
以上只是简单的增删改查和通过外键的关联查询,Django也提供了很多其他操作数据库的API,这要看具体的场景应用了,这些API就不过多演示了!
接下来就来看一看Django提供的一个后台管理页面,相当于你所建立模型的管理界面,友情提示:不要嫌弃它丑,毕竟还是很实用!
首先要创建一个管理员账号,这个账号是进入这个管理界面的超级管理员账号,同时也要用这个账号做后续的操作,我们需要在manage.py的命令行里输入createsuperuser,然后根据提示来进行账号的创建:
![b3d5ef4e9a96a98a8010614471a194c0.png](https://i-blog.csdnimg.cn/blog_migrate/f7a05030db177d639b399797dd893957.jpeg)
启动项目,在浏览器输入http://127.0.0.1:8080/admin出现如下的界面:
![2a41b2842ae1f017ab6b91bd3e6c62ff.png](https://i-blog.csdnimg.cn/blog_migrate/50a710b35f9e40473afcc6dca058867c.jpeg)
输入刚才创建的超级管理员账号进行登录:
![a425872974503c3a9a5171f376380de5.png](https://i-blog.csdnimg.cn/blog_migrate/2cc7b9eb87d244297f5856b21b19624c.jpeg)
由于我们编写的模型还没有注册到这个后台管理界面上,所以还没有显示出来,现在就来注册一下,在schools/admin.py的文件里注册我们编写的模型:
![933216a14391bbe9c2439320d2baf929.png](https://i-blog.csdnimg.cn/blog_migrate/8661e4de326b06cf81380b5391178405.jpeg)
![37ff19805bb2f56433de0e9ff765bf90.png](https://i-blog.csdnimg.cn/blog_migrate/273cda1d7aac08ac30455d1b810124c7.jpeg)
我们刚才编写的模型也就注册到这个后台管理界面上来了,更多的关于Django数据库API的操作和管理页面的配置,请关注持续更新。。。^ _ ^