Django數(shù)據(jù)庫(kù)表反向生成實(shí)例解析
本文我們研究下如何在django中反向生成mysql model代碼,接下來(lái)我們看看具體介紹。
我們?cè)谡故綿jango ORM反向生成之前,我們先說(shuō)一下怎么樣正向生成代碼。
正向生成,指的是先創(chuàng)建model.py文件,然后通過(guò)django內(nèi)置的編譯器,在數(shù)據(jù)庫(kù)如mysql中創(chuàng)建出符合model.py的表。
反向生成,指的是先在數(shù)據(jù)庫(kù)中create table,然后通過(guò)django內(nèi)置的編譯器,生成model代碼。
1、準(zhǔn)備工作
創(chuàng)建django工程以及app
創(chuàng)建django工程,名字是helloworld
django-admin.py startproject helloworld
創(chuàng)建app,名字是test
python manage.py startapp hello
配置數(shù)據(jù)庫(kù)
在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ù)庫(kù)
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ù)庫(kù)中,查看創(chuàng)建成功的表
3、反向生成
現(xiàn)在數(shù)據(jù)庫(kù)中創(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ù)庫(kù)表反向生成實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Django使用視圖動(dòng)態(tài)輸出CSV以及PDF的操作詳解
這篇文章主要介紹了Django 如何使用視圖動(dòng)態(tài)輸出 CSV 以及 PDF,我們需要用到 python 的 csv 和 reportLab 庫(kù),通過(guò)django視圖來(lái)定義輸出我們需要的 csv 或者 pdf 文件,需要的朋友可以參考下2024-06-06python線(xiàn)程池threadpool實(shí)現(xiàn)篇
這篇文章主要為大家詳細(xì)介紹了python線(xiàn)程池threadpool的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04python中路徑的三種寫(xiě)法+路徑前符號(hào)含義解讀
這篇文章主要介紹了python中路徑的三種寫(xiě)法+路徑前符號(hào)含義解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03使用python實(shí)現(xiàn)畫(huà)AR模型時(shí)序圖
今天小編就為大家分享一篇使用python實(shí)現(xiàn)畫(huà)AR模型時(shí)序圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸之線(xiàn)性回歸示例詳解
這篇文章主要為大家介紹了Python數(shù)學(xué)建模中StatsModels統(tǒng)計(jì)回歸之線(xiàn)性回歸的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10解決python 虛擬環(huán)境刪除包無(wú)法加載的問(wèn)題
這篇文章主要介紹了解決python 虛擬環(huán)境刪除包無(wú)法加載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07PyTorch實(shí)現(xiàn)更新部分網(wǎng)絡(luò),其他不更新
今天小編就為大家分享一篇PyTorch實(shí)現(xiàn)更新部分網(wǎng)絡(luò),其他不更新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Django DRF路由與擴(kuò)展功能的實(shí)現(xiàn)
這篇文章主要介紹了Django DRF路由與擴(kuò)展功能的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06