django集成原有数据库
最近在搞Python orm 方面的东东,感觉不论是django还是SQLAlchemy都不如hibernate用着方便。。(我承认我是懒的写sql语句的懒鬼),有时间自己写一个简易的代码生成器。不过有django就先用一下:
步骤:
1.数据库设置,不用我说了吧
2
python mysite/manage.py inspectdb > mysite/myapp/models.py
这个也不用多说了吧
3.
如果要单元测试,需要加入以下两句
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'projectname.settings'
4.
最坑爹地方来了,Inspectdb默认生成的models是无app的,需要添加
app_label='appname'
不知道怎么设置全局变量,只好在每个类的META里都加了这一句,求大神指点
还有Inspectdb是无法读取出主键的。。。需要自己手动为主键加primary_key=True,否则会默认认为id为主键(因为自己新建Model的话,系统会默认添加id为主键),如果恰好你没有主键或者叫别的名字,程序就没法跑了,所以好习惯是每次新建表都新建个id为主键!!