国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django數(shù)據(jù)庫表反向生成實例解析

2020-02-22 23:08:02
字體:
供稿:網(wǎng)友

本文我們研究下如何在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 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()

執(zhí)行命令正向生成

python manage.py makemigrationspython 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)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜宾县| 阿坝县| 墨脱县| 龙川县| 嘉兴市| 基隆市| 千阳县| 丹寨县| 缙云县| 县级市| 邵阳县| 泊头市| 句容市| 易门县| 玛纳斯县| 浠水县| 盐源县| 共和县| 苏尼特左旗| 乐东| 巩留县| 凌海市| 葫芦岛市| 柏乡县| 六盘水市| 沁阳市| 全南县| 宣化县| 漯河市| 油尖旺区| 蓬安县| 东阳市| 古蔺县| 托克托县| 咸阳市| 六枝特区| 田阳县| 黄冈市| 长泰县| 苗栗市| 贞丰县|