欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Django创建mysql数据表流程

程序员文章站 2022-06-24 08:49:41
在Django项目建好后,在setting.py中设置好mysql连接参数: 1 DATABASES = { 2 'default': { 3 'ENGINE': 'django.db.backends.mysql', 4 'NAME':'book_2', # 要连接的数据库,连接前需要创建好 5 ......

在django项目建好后,在setting.py中设置好mysql连接参数:

 1 databases = {
 2     'default': {
 3         'engine': 'django.db.backends.mysql',
 4         'name':'book_2', # 要连接的数据库,连接前需要创建好
 5         'user':'root', # 连接数据库的用户名
 6         'password':'123',# 连接数据库的密码
 7         'host':'127.0.0.1',# 连接主机,默认本级
 8         'port':3306  #  端口 默认3306
 9     }
10 }

在models.py文件中根据自己需求,填写数据表的结构,例如:

 1 class author(models.model):
 2     nid = models.autofield(primary_key=true)
 3     name=models.charfield( max_length=32)
 4     age=models.integerfield()
 5 
 6 class publish(models.model):
 7     nid = models.autofield(primary_key=true)
 8     name=models.charfield( max_length=32)
 9     city=models.charfield( max_length=32)
10     email=models.emailfield()
11 
12 class book(models.model):
13     nid = models.autofield(primary_key=true)
14     title = models.charfield( max_length=32)
15     publishdate=models.datefield()
16     price=models.decimalfield(max_digits=5,decimal_places=2)
17     publish = models.foreignkey(to = 'publish',to_field= 'nid',on_delete=models.cascade)
18     author = models.manytomanyfield(to='author',)

接着在pycharm中的terminal窗口处,输入:

1 python manage.py makemigrations

 

创建过程可能出现的异常:

报错代码1:

1 django.core.exceptions.improperlyconfigured: error loading mysqldb module.
2 did you install mysqlclient?

__init__.py文件夹中添加代码即可解决:

1 import pymysql
2 pymysql.install_as_mysqldb()

报错代码2:

1 django.core.exceptions.improperlyconfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

点击进入报错的地方,把以下代码注释掉即可解决:

1 #if version < (1, 3, 13):
2 #   raise improperlyconfigured('mysqlclient 1.3.13 or newer is #required; you have %s.' % database.__version__)

报错代码3:

1 attributeerror: 'str' object has no attribute 'decode'

点击进入报错的地方,把错误行decode改成encode即可解决:

1 query = query.encode(errors='replace')

 

解决以上错误后,在terminal中输入:

1 python manage.py migrate

没有报错,到自己的数据库中查看数据表是否创建成功

注:django无法建立数据库,需要我们先建立数据库后,再用以上方法建立数据表