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