django inspectdb 操作已有数据库数据的使用步骤

inspectdb使用步骤

1.配置项目setting文件

2.配置项目__init__.py 使用pymysql连接数据库

 import pymysql
 pymysql.version_info = (1, 20, 23)
 pymysql.install_as_MySQLdb()

3.在terminal中执行语句

python manage.py inspectdb > [your app name]\models.py

4.执行迁移

python manage.py makemigrations
python manage.py migrate

5.将图中managed = False 改成True或者删除即可,其意义是不对数据库进行管理。之后修改models即可对数据库进行操作

知识点扩展:django,inspectdb,操作已经存在的表

1.Django附带了一个名为inspectdb程序,它可以通过现有数据库来创建模型,并将相关模型代码另存到指定文件中。在新建的newmodels.py文件中挑选指定表格对应的模型代码,并将其复制到相关的文件中。

python manage.py inspectdb > newmodels.py

若要操作指定数据库,使用如下代码:

python manage.py inspectdb --database new_schema1 > models1.py

2.默认情况下,inspectdb创建非托管模型。 也就是说,在模型的Meta类中,managed = False告诉Django不要管理每个表的创建,修改和删除。如果想让Django管理表的生命周期,你需要将上面的托管选项更改为True,即将managed = False修改为managed = True。

class Person(models.Model):
   id = models.IntegerField(primary_key=True)
   first_name = models.CharField(max_length=70)
   class Meta:
    managed = False
    db_table = 'CENSUS_PERSONS'

3.运行migrate命令以安装任何额外需要的数据库记录,如session、auth等。若对此类表格没有操作必要,可以不用执行下列代码,亦可进行数据库操作。

 python manage.py makemigrations
 python manage.py migrate

到此这篇关于django inspectdb 操作已有数据库数据的使用步骤的文章就介绍到这了,更多相关django操作已有数据库数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Django bulk_create()、update()与数据库事务的效率对比分析

    下面以创建10000个对象为例进行测试: # 用for循环挨个创建,共花费37秒 for i in range(10000): name="String number %s"%i Record.objects.create(name=name) # 用django事务只提交一次,共花费2.65秒 @transaction.commit_manually def manual_transaction(): for i in range(10000): name="String

  • django 连接数据库出现1045错误的解决方式

    根据菜鸟教程Django教程学习,运行"python manage.py migrate" 报错,出现 django.db.utils.OperationalError: (1045, "Access denied for user '账号'@'localhost' (using password: YES)") 错误. 这种错误指的是连接数据库时账号密码错误. 1.只需要修改setting.py文件里的DATABASES即可:(按照图中注释修改) DATABASE

  • Python的Django框架实现数据库查询(不返回QuerySet的方法)

    一.创建模型类: # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models class Course(models.Model): """课程表""" name = models.CharField(verbose_name='课程名称', max_length=255) description = models.Tex

  • django inspectdb 操作已有数据库数据的使用步骤

    inspectdb使用步骤 1.配置项目setting文件 2.配置项目__init__.py 使用pymysql连接数据库 import pymysql pymysql.version_info = (1, 20, 23) pymysql.install_as_MySQLdb() 3.在terminal中执行语句 python manage.py inspectdb > [your app name]\models.py 4.执行迁移 python manage.py makemigratio

  • 浅谈入门级oracle数据库数据导入导出步骤

    oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问题,同时效率更高,但特别注意:采用命令时要注意所使用的用户及其权限等细节. 3.在目标数据库导入时需要创建与导出时相同的用户名(尽量一致),并赋予不低于导出时用户的权限:同时还需创建与原数据库相同的表空间名,若本地数据库已存在相同的表空间,则只能进行表空间

  • 使用Django框架中ORM系统实现对数据库数据增删改查

    目录 1.数据的增删改查----------增加数据 在视图函数中导入User模型类,然后使用下面的方法添加数据: 2.数据的增删改查----------查找数据 这时在定义模型类时定义的__str__()方法的作用就表现了出来 User模型类导入 3.数据的增删改查----------删除数据 4.数据的增删改查----------修改数据 1.数据的增删改查----------增加数据 在视图函数中导入User模型类,然后使用下面的方法添加数据: from django.http impor

  • django如何连接已存在数据的数据库

    你有没有遇到过这种情况? 数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办??? Django是最适合所谓的green-field开发,即从头开始一个新的项目 但是呢,Django也支持和以前遗留的数据库和应用相结合的. Django的数据库层从Python代码生成SQL schemas.但是对于遗留的数据库,你已经用于SQL schemas,这种情况下你需要为你已经存在的数据库表写模型(为了使用数据库的API),幸运的是,Django自

  • django连接Mysql中已有数据库的方法详解

    我的Mysql中已经有了项目需要使用的相关数据库,现在需要通过django来获取Mysql里的数据并使用,下面记录配置django与mysql的连接过程. (此处默认您已经建好了django框架,如果没有准备好django,请参照我本篇文章 https://www.jb51.net/article/249861.htm 首先需要在项目的settings.py文件中配置mysql的连接信息:把之前配置的sqlite配置信息替换.之前默认的数据库配置信息如图,是与sqlite连接的 现在我们需要替换

  • django中操作mysql数据库的方法

    目录 1.准备工作(django连接数据库) 2.django操作数据库(ORM) 2.1 ORM简介 2.2 创建表和字段 2.3 字段的增删改查 2.4 单表数据的增删改查 2.4.1单表数据的查询 2.4.2单表数据的增加 2.4.3单表数据的修改 2.4.4单表数据删除 2.4.5补充13条单表查询 2.4.6 神奇的双下划线查询 2.5 多表数据操作 2.5.1 orm创建表关系 2.5.2 一对多关系的增删改 2.5.3 多对多关系的增删改 2.5.4 多表的查询操作 2.6 字段类

  • Python Django form 组件动态从数据库取choices数据实例

    app01/models.py: from django.db import models class UserInfo(models.Model): username = models.CharField(max_length=16) password = models.CharField(max_length=16) mobile = models.CharField(max_length=11) class City(models.Model): name = models.CharFie

  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如下: 1. 首先创建新的数据库newdb #mysql -u root -ppassword mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI; 2. 使用mysqldump及mysql的

  • 详解如何通过Mysql的二进制日志恢复数据库数据

    经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据. 系统环境: 操作系统:CentOS 6.5 X64  (虚拟机): WEB服务:PHP+Mysql+apache: 网站:为方便,直接在本地用蝉知系统搭建一个DEMO站点: 操作步骤: 1.开启binlog功能及基本操作: 2.往站点添加数据: 3.刷新binlog日志: 4.删除

  • 利用Django提供的ModelForm增删改数据的方法

    上一篇我们写了Django基于类如何增删改数据的方法,方法虽然简单,但新手可能对其原理不是很清楚,那么我们这次就用Django提供的ModelForm方法来实现增删改数据,这是一种基于现有模型的增删改方法. 一个简单的例子加以说明,前提是你已经具备Django创建项目应用的基本知识: 01.首先创建一个简单的模型,模型只有三个文本字段,标题 title , 内容 text , 添加日期 date_added ,如下: # models.py from django.db import model

随机推荐