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

200 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第30天,点击查看活动详情

在这里插入图片描述

🤵‍♂️ 个人主页: @计算机魔术师 👨‍💻 作者简介: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用法

			        🤞到这里,如果还有什么疑问🤞
		🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
			🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳