python django框架如何导出_python框架django的数据库的正向生成和反向生成
正向生成,指的是先創建model.py文件,然后通過django內置的編譯器,在數據庫如mysql中創建出符合model.py的表。
反向生成,指的是先在數據庫中create table,然后通過django內置的編譯器,生成model代碼。
首先創建django工程以及app
創建django工程,名字是wechat
django-admin.py startproject wechat
然后生成app
python manage.py startapp datatest
配置app以及數據庫
配置app(在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','datatest',
]
配置數據庫(在settings.py中配置數據庫)
#這是MySQL的配置連接方式,其他數據庫在這個配置代碼的上方有個地址
DATABASES ={'default': {'ENGINE': 'django.db.backends.postgresql','NAME': 'jmj','USER': 'root','PASSWORD': 'root','HOST': '127.0.0.1','PORT': '3306',
}
}
正向生成
在datatest 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
反向生成
首先在數據庫中創建表
DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (
`id`int(5) NOT NULLAUTO_INCREMENT,
`name`varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`tel`varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`dept`int(5) NOT NULL,
`wechatid`int(255) NULL DEFAULT NULL,PRIMARY KEY(`id`) USING BTREE,INDEX`fk_user_dept`(`dept`) USING BTREE,CONSTRAINT `fk_user_dept` FOREIGN KEY (`dept`) REFERENCES `dept` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE= InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
然后執行命令,生成model.py代碼
python manage.py inspectdb
以上就是django框架的數據庫整合,希望能夠幫助到大家
總結
以上是生活随笔為你收集整理的python django框架如何导出_python框架django的数据库的正向生成和反向生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python回归取残差_如何用sklea
- 下一篇: shell获取多张网卡对应的ip_网络是