【Django | 开发】 为已有遗留系统数据库生成管理后台

举报
计算机魔术师 发表于 2022/08/30 19:33:24 2022/08/30
【摘要】 🤵‍♂️ 个人主页: @计算机魔术师👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。🌐 推荐一款找工作神器网站: 牛客网🎉🎉|笔试题库|面试经验|实习招聘内推 还没账户的小伙伴 速速点击链接跳转牛客网登录注册 开始刷爆题库,速速通关面试吧🙋‍♂️该文章收录专栏✨—【Django | 项目开发】从入门到上线 专栏—✨@[toc] 1)目标 2) 生产表创建新的项目并...

在这里插入图片描述

🤵‍♂️ 个人主页: @计算机魔术师
👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。

🌐 推荐一款找工作神器网站: 牛客网🎉🎉|笔试题库|面试经验|实习招聘内推
还没账户的小伙伴 速速点击链接跳转牛客网登录注册 开始刷爆题库,速速通关面试吧🙋‍♂️

该文章收录专栏
—【Django | 项目开发】从入门到上线 专栏—

@[toc]

1)目标

在这里插入图片描述

2) 生产表

在这里插入图片描述

  1. 创建新的项目并注册到项目中
  2. 配置数据库
  3. 生成应用(不生产表没地方生成)
  4. 如果是sqlite数据库,则需要复制需要管理项目的数据库到创建的项目(如果是mysql,则需要在setting和__init__文件进行配置数据库

这里是生成了全部的表,我们可以手动删除不要的模型,不过建议的方法是添加我们想要添加对应的模型,我们可以添加参数
python manage.py inspectdb [models,models...] > 应用/model.py

django-admin startproject dbmanager # 创建项目 
python manage.py startapp candidates   # 创建应用
python manage.py inspectdb >  candidates\models.py  # 已有数据库生成表(默认可以更改)

( 注: 一张表生成一个模型 )
在这里插入图片描述

  1. 删除不需要维护的模型表,并将外键为AuthUser更改为User,如果一个模型有多个外键,则需要并对其添加related_name 区分

  1. 注意点一: (这里的managed = False 是指不与数据库里面的结构保持一致,如果保持同步,会将原生产环境的内容覆盖掉,)
    在这里插入图片描述
  2. 注意点二: 由于生产的model.py文件 编码格式为UTF-16,更改文件编码为UTF-8,不然报错
    在这里插入图片描述

3)注册admin

from django.contrib import admin

# Register your models here.
from .models import JobsJobs, Candidate, Userprofile

admin.site.register(JobsJobs)
admin.site.register(Candidate)
admin.site.register(Userprofile)

4)效果

运行服务器(直接登录管理员后台,由于数据库有管理员张合信息了,可以直接登录)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5) mysql

如果是mysql 数据库的话,我们在setting.py直接配置对应的数据库即可,二者会自动同步,此时可以直接修改管理数据,sqlite轻量级数据库 一个数据库是一个文件,此时要管理需要复制粘贴过来才能同步

参考文献
source code string cannot contain null bytes报错
ispectdb用法

			        🤞到这里,如果还有什么疑问🤞
		🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
			🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。