题记:django如果要并和原有的数据库,那么就需要把现有数据库的表写入model.py中。

一,在setting.py中配置好连接数据库的参数

在setting中的DATABASESZ中配置默认参数,并在INSTALLED_APPS中导入模块名。

DATABASES = {
    'default':
    {
        'ENGINE': 'django.db.backends.mysql',    # 数据库引擎
        'NAME': 'jljupcs', # 数据库名称
        'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1
        'PORT': 3306, # 端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': '', # 数据库密码
    }
}
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'conversion',
]

在主项目目录下导入pymysql

import pymysql
pymysql.install_as_MySQLdb()

二,打开cmd或pycharm的Terminal输入命令

输入命令:

python manage.py inspectdb > [项目路径]/models.py

在cmd中输入命令:

打开pycharm终端输入命令:

最后在models.py中自动创建了数据库表对应的类。

三,managed = False 删除或改为 managed = True

修改managed让之后修改models即可对数据库进行操作,在终端输入:

python manage.py inspectdb

提示如果你想让Django创建、修改和删除表,请删除’ managed = False '行

四,执行迁移

在终端输入:

python manage.py makemigrations
python manage.py migrate

补充:Django根据数据库表反向生成Model

用过Django的人应该都熟悉下面两条命令:

# 将Model的改动生成文件
python manage.py make migrations  # 此时数据库中还不会生效
# 提交改动
python manage.py migrate  # 此时数据库就会自动生成我们Model对应的数据表了

上面两条命令都是作用于全局的,但是如果我们只想改动的app下面的Model或者某个文件中的Model,那就需要指定appname和filename:

# 生成指定app下面的改动文件
python manage.py makemigrations appname
# 提交指定app下面指定的改动文件
python manage.py migrate appname filename

既然有根据Model自动生成数据库表的命令,那么肯定就有根据数据库表反向生成Model的命令

python manage.py inspectdb  # 使用这条命令,会根据设置的数据库中的表在自动生成对应的Model代码,并打印出来

当然也可以直接将打印的代码直接导入到指定的Model文件中

python manage.py inspectdb > student/models.py  # 前提是创建了app(student)并且在setting.py文件中注册过

配置了多个数据库,则还可以配置数据库别名来指定根据哪个库中的表来生成Model

python manage.py inspectdb --database default >student/models.py  # default是默认的别名

将指定的表生成对应的Model

python manage.py inspectdb --database default table1 table2 >student/models.py

总结

到此这篇关于django如何根据现有数据库表生成model的文章就介绍到这了,更多相关django生成model内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

django如何根据现有数据库表生成model详解的更多相关文章

  1. 难以在Android和iPhone上部署Django应用程序..计划切换到PHP而不是Django

    .我是否需要学习PHP,C,Java或其他任何东西,或者只要知道django和python就可以做到这一点?

  2. Android发送发送请求到django服务器csrf失败

    我想我的Android应用程序能够发送一些信息到我的django服务器.所以我做的Android应用程序发送一个发布请求到mysite/上传页面,django的这个页面的视图将基于post数据工作.问题是服务器对post请求的响应,关于csrf验证失败.看看这个问题,似乎我可能必须先从服务器获取一个csrf令牌,然后用该令牌做帖子但是我不知道我该怎么做.编辑:我已经发现,我可以使用视图装饰器@cs

  3. Pandas如何将表格的前几行生成html实战案例

    这篇文章主要介绍了Pandas如何将表格的前几行生成html实战案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  4. pycharm社区版安装django并创建一个简单项目的全过程

    社区版的pycharm跟专业版的pycharm应用差别还是不太大,下面这篇文章主要给大家介绍了关于pycharm社区版安装django并创建一个简单项目的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

  5. Django 报错:Broken pipe from ('127.0.0.1', 58924)的解决

    这篇文章主要介绍了Django 报错:Broken pipe from ('127.0.0.1', 58924)的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  6. Mybatis-Plus主键生成策略的方法

    本文主要介绍了Mybatis-Plus主键生成策略的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  7. 解决Django cors跨域问题

    这篇文章主要介绍了解决Django cors跨域问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. Android开发之AAR文件的生成与使用步骤

    Android中的aar主要是针对于Android Library而言的,可以简单的理解为是对Android Library的打包,这个包的格式为.aar,下面这篇文章主要给大家介绍了关于Android开发之AAR文件的生成与使用步骤的相关资料,需要的朋友可以参考下

  9. 虚拟环境下搭建一个Django项目

    这篇文章主要为大家介绍了虚拟环境下搭建一个Django项目的实现过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. Django ORM F对象和Q对象查询

    Django提供了两个非常有用的工具:F对象和Q对象,方便了在一些特殊场景下的查询过程,这篇文章主要介绍了Django ORM F对象和Q对象查询,需要的朋友可以参考下

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部