django inspectdb
使用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
django inspectdb的更多相关文章
- 数据库表反向生成(二) Django ORM inspectdb
在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...
- python Django 之 Model ORM inspectdb(数据库表反向生成)
在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...
- django,inspectdb,操作已经存在的表
1.Django附带了一个名为inspectdb程序,它可以通过现有数据库来创建模型,并将相关模型代码另存到指定文件中.在新建的newmodels.py文件中挑选指定表格对应的模型代码,并将其复制到相 ...
- 数据库已经存在表, django使用inspectdb反向生成model实体类
1.通过inspectdb处理类,可以将现有数据库里的一个或者多个.全部数据库表生成Django model实体类 python manage.py inspectdb --database defa ...
- django 有model生成SQL以及现有反向表生成model
已有models生成SQL语句 语法 python manage.py sqlall app_name # app_name, 在settings已经导入, 如: INSTALLED_APPS = ...
- Django根据现有数据库建立model
Django引入外部数据库还是比较方便的,步骤如下 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自动生 ...
- django数据库的增删改查
正常启动服务安装数据库cmd命令:python manage.py makemigrations 创建用户 在pxm里面会有一个py文件..这就是生成了表结构cmd命令:python manage.p ...
- Django数据操作F和Q、model多对多操作、Django中间件、信号、读数据库里的数据实现分页
models.tb.objects.all().using('default'),根据using来指定在哪个库里查询,default是settings中配置的数据库的连接名称. 外话:django中引 ...
- [转]Django与遗留系统和数据库集成
From:http://www.czug.org/python/django/17.html 尽管Django最适合从零开始开发项目--所谓的"绿色领域"开发--将框架与遗留系统和 ...
随机推荐
- [CODE FESTIVAL 2017]Full Tournament
题意:$2^n$个编号为$1\cdots2^n$的人打比赛,这个比赛会给每个人一个唯一的排名,比赛规则递归地定义如下: $2^n$个人打的是级别为$n$的比赛,初始时他们按某种顺序站成一排 当$n=0 ...
- 【插头dp】CDOJ1690 这是一道比CCCC简单题难的简单题
最裸的插头dp,可参见大白书. #include<cstdio> #include<cstring> using namespace std; #define MOD 1000 ...
- [转]MySQL与Oracle的语法区别详细对比
Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_c ...
- java中关于volatile的理解疑问?
作者:xyzZ链接:https://www.zhihu.com/question/49656589/answer/117826278来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- jq:zclip复制
实例: <script type="text/javascript" src="js/jquery.js"></script> < ...
- Objective-C]入门 (xcode helloworld程序 创建类
一:objective-c简介 Objective-C是进行iPhone软件开发的语言 Objective-C语言是C语言的一个扩展集 Objective-C是一种面向对象的语言 大小写敏感 程序语句 ...
- linux面试题目—2
linux面试题目—2 二 选择题 1.关闭linux系统(不重新启动)可使用命令 B . A Ctrl+Alt+Del B halt C shutdown -r now D reboot 2.实现从 ...
- error: commit is a merge but no -m
https://segmentfault.com/q/1010000010185984 执行git cherry-pick commitID操作时报错,如题 原因是合并的commitID做过merge ...
- jquery ajax 中不能给变量赋值的原因及解决办法
我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去, ...
- tez是什么?
[Apache Tez是什么?] http://dongxicheng.org/mapreduce-nextgen/apache-tez/ 浅谈Apache Tez中的优化技术 http://dong ...