写点什么

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

  • 2022 年 8 月 30 日
    广东
  • 本文字数:967 字

    阅读完需:约 3 分钟


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


<hr>


  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用法


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


用户头像

还未添加个人签名 2022.08.13 加入

还未添加个人简介

评论

发布
暂无评论
【Django | 开发】 为已有遗留系统数据库生成管理后台_8月月更_计算机魔术师_InfoQ写作社区