时间:2021-05-22
本文我们研究下如何在django中反向生成mysql model代码,接下来我们看看具体介绍。
我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码。
正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表。
反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码。
创建django工程以及app
创建django工程,名字是helloworld
django-admin.py startproject helloworld创建app,名字是test
python manage.py startapp hello配置数据库
在settings.py的INSTALLED_APPS配置app
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'hello', ]在settings.py中配置数据库
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'big_data', 'USER': 'root', 'PASSWORD': '1234', 'HOST': '10.93.84.53', 'PORT': '3306', }}在hello app的目录下创建model.py
from django.db import modelsclass AlarmGroup(models.Model): group_name = models.CharField(primary_key=True, max_length=250) group_des = models.TextField(blank=True, null=True) members = models.TextField(blank=True, null=True) timestamp = models.DateTimeField()执行命令正向生成
python manage.py makemigrationspython manage.py migrate可以到配置的数据库中,查看创建成功的表
现在数据库中创建表
CREATE TABLE `alarm_group` ( `group_name` varchar(250) NOT NULL, `group_des` blob, `members` blob, `timestamp` datetime NOT NULL, `on_duty` blob, `leader` blob, PRIMARY KEY (`group_name`)) ENGINE=MyISAM DEFAULT CHARSET=utf8然后执行命令,生成model.py代码
python manage.py inspectdb生成的代码model.py如下
class AlarmGroup(models.Model): group_name = models.CharField(primary_key=True, max_length=250) group_des = models.TextField(blank=True, null=True) members = models.TextField(blank=True, null=True) timestamp = models.DateTimeField() class Meta: managed = False db_table = 'alarm_group'以上就是本文关于Django数据库表反向生成实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Django根据已有数据库表反向生成models类一.创建一个Django项目django-adminstartproject‘xxxx‘二、修改setting
Django的数据库层从Python代码生成SQLschemas—但是对于遗留数据库,你已经拥有SQLschemas.这种情况,你需要为已经存在的数据表创建mo
关系型数据库其实很讨人厌,尤其是在你使用数据库驱动的开发模式时。需要首先把表给创建好了,然后再使用代码生成器反向生成一堆几乎无法可读的代码。当字段有变更的时候,
一、核心文件generator.xml指定数据库jar包位置、数据库连接信息、生成包的位置、表名等关键信息。该文件放在任意位置。二、table标签解析①属性sc
Mybatis逆向工程  逆向工程通常包括由数据库的表生成Java代码和通过Java代码生成数据库表。而Mybatis逆向工程是指由数据