1. 程式人生 > >Django使用Mysql數據庫已經存在的數據表方法

Django使用Mysql數據庫已經存在的數據表方法

nbsp rom lis code col pytho 生成 mysql l數據庫

源地址: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和數據表就可以了。

Django使用Mysql數據庫已經存在的數據表方法