使用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
