Django使用Mysql資料庫已經存在的資料表方法
阿新 • • 發佈:2020-01-09
使用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資料庫已經存在的資料表方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。