本学习笔记都是基于一本书
The Django Book
用命令
python manage.py validate
验证模型的有效性
运行命令
python manage.py sqlall books
来生成CREATE TABLE语句
在这个命令行中, books 是app的名称。
sqlall 命令并没有在数据库中真正创建数据表,只是把SQL语句段打印出来,这样你可以看到Django究竟会做些什么。
如果你想这么做的话,你可以把那些SQL语句复制到你的数据库客户端执行,或者通过Unix管道直接进行操作(例如,python manager.py sqlall books | psql mydb
)
Django提供了一种更为简易的提交SQL语句至数据库的方法: syncdb
命令
python manage.py syncdb
在这里,我们就可以理解syncdb到底做了什么。相当于在数据库交互终端做了一系列CREATE TABLE语句
syncdb 命令是同步你的模型到数据库的一个简单方法。 它会根据 INSTALLED_APPS 里设置的app来检查数据库, 如果表不存在,它就会创建它。 需要注意的是, syncdb 并 不能将模型的修改或删除同步到数据库;如果你修改或删除了一个模型,并想把它提交到数据库,syncdb并不会做出任何处理。 (更多内容请查看本章最后的“修改数据库的架构”一段。)12
如果你再次运行 python manage.py syncdb ,什么也没发生,因为你没有添加新的模型或者 添加新的app。因此,运行python manage.py syncdb总是安全的,因为它不会重复执行SQL语句。
基本数据访问
一旦你创建了模型,Django自动为这些模型提供了高级的Python API。
运行
python manage.py shell
会进入django python命令行交互终端