1)目标
2) 生产表
- 创建新的项目并注册到项目中
- 配置数据库
- 生成应用(不生产表没地方生成)
- 如果是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 # 已有数据库生成表(默认可以更改)
( 注: 一张表生成一个模型 )
- 删除不需要维护的模型表,并将外键为
AuthUser
更改为User
,如果一个模型有多个外键,则需要并对其添加related_name
区分
- 注意点一: (这里的managed = False 是指不与数据库里面的结构保持一致,如果保持同步,会将原生产环境的内容覆盖掉,)
- 注意点二: 由于生产的
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报错
🤞到这里,如果还有什么疑问🤞 🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳