使用inspectdb --通过已有数据库表生成 model.py
inspectdb辅助工具检查你的settings文件指向的数据库,决定你表示你的表的Django模型并打印Python模型代码到标准输出
这里是典型的从零开始的遗留数据库处理的过程,唯一的前提是Django已经安装并且你有一个遗留数据库
1,通过运行django-admin.py startproject mysite(这里mysite是你的项目名)创建Django项目,我们将在例子中使用mysit
e作为项目名
2,在项目中编辑settings文件mysite/settings.py来告诉Django你的数据库连接参数是什么以及数据库名是什么,特别的,
你将想指定DATABASE_NAME,DATABASE_ENGINE,DATABASE_USER,DATABASE_PASSWORD,DATABASE_HOST和DATABASE_PROT设置
3,通过运行python mysite/manage.py startapp myapp(这里myapp是你的app名)来在你的项目中创建Django app,我们这里
将使用myapp作为项目名
4,运行命令python mysite/manage.py inspectdb,这将检查DATABASE_NAME数据库中的表并为每个表打印模型类,看看输出
来了解inspectdb可以做什么事情
5,在你的app里通过使用标注shell输出重定向保存输出到models.py文件:
python mysite/manage.py inspectdb > mysite/myapp/models.py
6,编辑mysite/myapp/models.py文件,整理生成的模型并且做你需要的自定义,我们将在下一节对此给出一些提示
通过django的model.py 创建数据表
1.编写django创建数据库表语句
在数据库应用的models.py文件中,编写创建表语句。其中,class为表名。
2.在配置文件中配置要访问的数据库和使用的数据库应用
1)访问的数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '172.18.100.3',
'NAME': 'db_resource',
'USER': 'res_admin',
'PASSWORD': 'res_admin',
}
}
2)使用的数据库应用:
INSTALLED_APPS = (
'resdb',
)
3. 运行命令,生成创建数据库表语句
Python manage.py sqlall resdb
4. 生成数据表
运行命令,根据已生成的数据库表语句生成数据表:
Python manage.py syncdb