从数据库反向生成django的models
By:Roy.LiuLast updated:2012-09-04
利用 django 的models.py 生成数据库,通常利用django开发的,都会做这一步。这也是django教程或资料经常提到的方面,用如下方法实现:
python manage.py sqlall books
python manage.py syncdb
这样,你在app里面定义的models中的每一个class,会对应的生成一个表.
但事实上,如果你想改造一套已有的系统,比如原来的系统是 vb 开发的,你现在想用django开发一个b/s 架构的应用。这种情况下,就应该由 database 去生成 models. 这是反向的。
有办法实现django 数据库反向生成models的方法吗?答案是肯定的。
1. 配置 settings.py 中的数据库配置部分
2.运行命令
你可看到所生成的models.py 中的class.
3.生成其他需要的表。执行sync
执行这一步是将django的系统表也生成到你已有的数据中,这样django才能用,比如session 就依赖于django自身的数据库。
python manage.py sqlall books
python manage.py syncdb
这样,你在app里面定义的models中的每一个class,会对应的生成一个表.
但事实上,如果你想改造一套已有的系统,比如原来的系统是 vb 开发的,你现在想用django开发一个b/s 架构的应用。这种情况下,就应该由 database 去生成 models. 这是反向的。
有办法实现django 数据库反向生成models的方法吗?答案是肯定的。
1. 配置 settings.py 中的数据库配置部分
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'root', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', } }
2.运行命令
python mysite/manage.py inspectdb > mysite/myapp/models.py 或者: python mysite/manage.py inspectdb
你可看到所生成的models.py 中的class.
3.生成其他需要的表。执行sync
python manage.py syncdb
执行这一步是将django的系统表也生成到你已有的数据中,这样django才能用,比如session 就依赖于django自身的数据库。
From:一号门
Previous:django css样式,图片路径问题解决方案
COMMENTS