Django數(shù)據(jù)庫表反向生成實例解析
本文我們研究下如何在django中反向生成mysql model代碼,接下來我們看看具體介紹。
我們在展示django ORM反向生成之前,我們先說一下怎么樣正向生成代碼。
正向生成,指的是先創(chuàng)建model.py文件,然后通過django內(nèi)置的編譯器,在數(shù)據(jù)庫如mysql中創(chuàng)建出符合model.py的表。
反向生成,指的是先在數(shù)據(jù)庫中create table,然后通過django內(nèi)置的編譯器,生成model代碼。
1、準備工作
創(chuàng)建django工程以及app
創(chuàng)建django工程,名字是helloworld
django-admin.py startproject helloworld
創(chuàng)建app,名字是test
python manage.py startapp hello
配置數(shù)據(jù)庫
在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中配置數(shù)據(jù)庫
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'big_data',
'USER': 'root',
'PASSWORD': '1234',
'HOST': '10.93.84.53',
'PORT': '3306',
}
}
2、正向生成
在hello app的目錄下創(chuàng)建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()
執(zhí)行命令正向生成
python manage.py makemigrations python manage.py migrate
可以到配置的數(shù)據(jù)庫中,查看創(chuàng)建成功的表
3、反向生成
現(xiàn)在數(shù)據(jù)庫中創(chuàng)建表
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
然后執(zhí)行命令,生成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'
總結(jié)
以上就是本文關(guān)于Django數(shù)據(jù)庫表反向生成實例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Python自動化之批量生成含指定數(shù)據(jù)的word文檔
在平時工作當中,經(jīng)常需要處理文件,特別是Word,我們常常會機械的重復(fù)打開、修改、保存文檔等一系列操作。本文將主要介紹如何通過Python批量生成含指定數(shù)據(jù)的word文檔,感興趣的同學(xué)可以來看一看2021-11-11
python flask解析json數(shù)據(jù)不完整的解決方法
這篇文章主要介紹了python flask解析json數(shù)據(jù)不完整的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05

