博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django使用Mysql数据库已经存在的数据表方法
阅读量:5326 次
发布时间:2019-06-14

本文共 1223 字,大约阅读时间需要 4 分钟。

源地址: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

你可能感兴趣的文章
【转】javascript 中的很多有用的东西
查看>>
Centos7.2正常启动关闭CDH5.16.1
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>
给C#学习者的建议 - CLR Via C# 读后感
查看>>
Recover Binary Search Tree
查看>>
Java 实践:生产者与消费者
查看>>
[转]IOCP--Socket IO模型终结篇
查看>>
js 获取视频的第一帧
查看>>
各种正则验证
查看>>
观察者模式(Observer)
查看>>
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>
Redis常用命令
查看>>
2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)
查看>>