Django使用Mysql数据库已经存在的数据表方法

源地址:https://www.jb51.net/article/140939.htm

使用scrapy爬取了网上的一些数据,存储在了mysql数据库中,想使用Django将数据展示出来,在网上看到都是使用Django的models和makemigration,migrate命令来创建新表,并使用。

可是我的数据已经存在了已经创建好,并且已经存储有数据了,不能再重新创建新表了。

了解Django的表明和models名称的映射关系就可以让Django使用已经存在的表。

假如在Django存在models如下:

from django.db import models

# Create your models here.
class Sciencenews(models.Model):
  id = models.CharField(max_length=36,primary_key=True)
  first_module = models.CharField(max_length=30,default="News")
  second_module = models.CharField(max_length=30,default="Latest News")
  title = models.CharField(max_length=300)
  author = models.CharField(max_length=60,null=True)
  publish_date = models.CharField(max_length=35,null=True)
  content = models.TextField(null=True)
  crawl_date = models.CharField(max_length=35,null=True)
  from_url = models.CharField(max_length=350,null=True)

执行数据迁移命令:

python manage.py makemigration
python manage.py migrate

会在数据库中生成名称为show_sciencenews的数据表。

show为应用名称,此处我的应用名称为show。

可以看到Django创建表的命名规则:应用名_模型名。

我的存储爬取到的数据的表格名称原来为science_news,想要Django使用它,而不是创建新的表,只需要把的它的名称改为:应用名_要与该表映射的models名称,在此处我改为show_sciencenews。

然后使用如上的数据迁移命令,这时可能会提示数据表已经存在的错误,不用理会,models已经和数据表映射上了。接下来只需要正常使用models和数据表就可以了。

原文地址:https://www.cnblogs.com/wtil/p/9529963.html

时间: 2024-10-29 06:35:37

Django使用Mysql数据库已经存在的数据表方法的相关文章

linux mysql 数据库操作导入导出 数据表导出导入

1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库: set names utf8: source  /home/newdb.sql; 1.1 数据库导入第二种 mysql -u用户名 -p密码 数据库名 < 数据库名.sql 1.2 数据库导入数据表 mysql -uroot -p show databases; create database newdb; use 数据库: source /var/ad

PHP删除MySQL数据库下的所有数据表

<?php //[数据无价,请谨慎操作!] $hostname ='localhost';  $userid = 'username';  $password = 'password';  $dbname = 'dbname';  $connect = mysql_connect($hostname,$userid,$password);  mysql_select_db($dbname); $result = mysql_query("show table status from $db

python——django使用mysql数据库(一)

之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有些有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经拥有一个django项目.已安装MySQLdb,进入mysql创建一个新的库(注意,这里必须是新的库,如果库里已经有表,就会出问题.) 修改配置项:打开已经创建好的django项目,在INSTALLED_APPS添加自己的工程名称.修改DATABASES项中配置的内容. INSTALLED_APPS

django配置mysql数据库

安装完python后,安装python-mysql来连接mysql数据库,下载地址http://sourceforge.net/projects/mysql-python/,安装很简单,点下一步就可以了,不过要装和你python版本相对应的版本,否则比较蛋疼 安装完成后,配置下django的数据库连接,打开项目的配置文件settings.py,修改DATABASES参数 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql'

ubuntu 下 mysql数据库的搭建 及 数据迁移

1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配置mysql管理员密码 sudo mysqladmin -u root 当前密码 新密码 安装的时候貌似也没遇到什么障碍 3.查看mysql的状态 sudo netstat -tap | grep mysql 4.启动/停止/重启mysql sudo  /etc/init.d/mysql start

MySQL数据库如何解决大数据量存储问题

利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开关量历史数据表,这两张表字段设计的很简单(OrderNo,Value,DataTime).基本上每张表每天可以增加几千万条数据,我想问如何存储数据才能不影响检索速度呢?需不需要换oracle数据库呢?因为我是数据库方面的新手,希望可以说的详细一点,万分感谢!!?-0-#暂时可以先考虑用infobri

MySQL数据库使用mysqldump导出数据详解

mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.接下来通过本文给大家介绍MySQL数据库使用mysqldump导出数据详解,需要的朋友一起学习吧 mysqldump是mysql用于转存储数据库的客户端程序.它主要产生一系列的SQL语句,可以封装到文件,该文件包含有所有重建您的数据库所 需要的 SQL命令如CREATE DATABASE,CREATE TABLE,INSERT等等.可

MySQL数据库实现主从同步数据

MySQL数据库实现主从同步数据 参考链接: http://www.cnblogs.com/wxf020412/archive/2007/09/25/905628.html http://369369.blog.51cto.com/319630/790921 1.说明 利用数据库本身的数据同步机制实现数据同步,还可以通过备份数据库目录实现,以及通过第三方同步工具实现. 2.准备好两台以上MySQL数据库 ①.最好版本一致 3.主数据库配置 ①. 打开mysql的配置文件(windows)my.i

MySQL学习笔记_13_Linux下C++/C连接MySQL数据库(三) --处理返回数据

 Linux下C++/C连接MySQL数据库(三) --处理返回数据 一.通过返回结果集中的字段数 [cpp] view plaincopyprint? unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... 示例: