温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Django数据库表反向生成的示例分析

发布时间:2021-07-24 14:08:32 来源:亿速云 阅读:192 作者:小新 栏目:开发技术

小编给大家分享一下Django数据库表反向生成的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码。

正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表。

反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码。

1、准备工作

创建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',   } }

2、正向生成

在hello app的目录下创建model.py

from django.db import models 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()

执行命令正向生成

python manage.py makemigrations python manage.py migrate

可以到配置的数据库中,查看创建成功的表

3、反向生成

现在数据库中创建表

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数据库表反向生成的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI