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

Django使用Mysql資料庫已經存在的資料表方法

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