django 連接mysql數據庫+創建數據庫模型


1.在settings.py中配置數據庫連接

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',  # mysql.connector.django
        'NAME': 'app', 'USER': 'root', 'PASSWORD': '123', 'HOST': '127.0.0.1', 'PORT': '3306', } }

2.在models.py中創建數據庫模型

from django.db import models # 輪播圖
class Slideshow(models.Model): # 圖片地址
    Slideshow_img_url = models.CharField(max_length=200, blank=True, null=True) # 圖片鏈接地址
    Slideshow_url = models.CharField(max_length=200, blank=True, null=True) # 圖片提示
    Slideshow_title = models.CharField(max_length=255, blank=True, null=True) class Meta: managed = True db_table = 'slideshow'

#一級分類
class FirstClass(models.Model): # 一級分類名稱
    class_name = models.CharField(max_length=100,blank=True,null=True) #一級分類圖片
    class_img = models.CharField(max_length=200,blank=True,null=True) # 一級分類圖標
    class_icon = models.CharField(max_length=255,blank=True,null=True) #一級導航語句
    class_text = models.CharField(max_length=255, blank=True, null=True) class Meta: managed = True db_table = 'first_class'

#二級分類
class Navigation(models.Model): # 二級分類名稱
    Navigation_name = models.CharField(max_length=100,blank=True,null=True) # 外鍵關聯一級分類
    foreign_key = models.ForeignKey("FirstClass", to_field="id", on_delete=models.CASCADE) class Meta: managed = True db_table = 'navigation'

#三級分類
class ThreeNavigation(models.Model): # 三級分類名稱
    ThreeNavigation_name = models.CharField(max_length=100,blank=True,null=True) # 外鍵關聯二級分類
    foreign_key = models.ForeignKey("Navigation", to_field="id", on_delete=models.CASCADE) class Meta: managed = True db_table = 'three_navigation'

#店鋪
class Store(models.Model): #店鋪名稱
    Store_name = models.CharField(max_length=200,blank=True,null=True) #店鋪圖標
    Store_icon = models.CharField(max_length=200,blank=True,null=True) #店鋪詳情
    Store_show = models.TextField(blank=True, null=True) #店鋪星級
    Store_rank = models.IntegerField(max_length=1,blank=True,null=True) class Meta: managed = True db_table = 'store'

#商品詳情
class Commodity(models.Model): # 商品名稱
    Commodity_name = models.CharField(max_length=100,blank=True,null=True) #商品圖片
    Commodity_img = models.CharField(max_length=200,blank=True,null=True) #商品高清圖片
    Commodity_img2 = models.CharField(max_length=200, blank=True, null=True) #商品價格
    Commodity_prices = models.IntegerField(max_length=11, blank=True, null=True) #商品銷量
    Commodity_sales = models.IntegerField(max_length=11, blank=True, null=True) # 商品規格
    UserShopping_Commodity_specification = models.CharField(max_length=255, blank=True, null=True)# 外鍵關聯三級分類
    foreign_key_threenavigation = models.ForeignKey("ThreeNavigation", to_field="id", on_delete=models.CASCADE) # 外鍵關聯店鋪
    foreign_key_store = models.ForeignKey("Store", to_field="id", on_delete=models.CASCADE) class Meta: managed = True db_table = 'commodity'

3.注意:在model同級目錄的__init__.py中添加以下代碼(不加同步不了數據庫)

import pymysql pymysql.install_as_MySQLdb()

4.創建好數據庫模型之后(同步數據庫)

python manage.py makemigrations python manage.py migrate 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM