#最详细# django 使用 ORM 连接 mysql 数据库并创建表

    技术2022-07-11  109

    文章目录

    1 修改settings.py文件2 修改 __init\__.py文件3 创建APP4 创建数据库表5 注册APP6 创建数据库表

    1 修改settings.py文件

    进入项目将项目中settings.py文件中的database的值修改为:

    DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USER': '用户名', 'PASSWORD': '密码', 'HOST': '数据库所在服务器的ip地址', 'PORT': '3306', } }

    2 修改 __init__.py文件

    在项目同名文件夹下的__init__.py文件中添加如下内容:

    import pymysql pymysql.version_info = (1, 3, 13, "final", 0) pymysql.install_as_MySQLdb()

    如果启动django项目时出现如下错误,请阅读这篇文章解决->#彻底解决# mysqlclient 1.3.13 or newer is required; you have 0.9.3 错误

    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

    3 创建APP

    python3 manage.py startapp 自定义APP名

    4 创建数据库表

    代码如下(demo):

    from django.db import models class User(models.Model): username= models.CharField(primary_key=True) username= models.AutoField(max_length=20) password= models.CharField(max_length=20) center= models.CharField(max_length=30) project= models.CharField(max_length=30)

    5 注册APP

    进入项目同名文件夹下的setting.py文件,在INSTALLED_APPS中添加APP名称

    INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', ]

    注:官方读读docs,新版与旧版Django注册APP存在区别。

    Django1.3版之前需要project.app这么写 Django1.3版后只需要app这么写即可

    6 创建数据库表

    命令如下: 此命令适用于Django 1.7.1以上,低版本Django的命令请读者自行百度

    python3 manage.py makemigrations python3 manage.py migrate

    如果自定义的APP目录下没有migrations文件夹则需要使用以下代码:

    python3 manage.py makemigrations --empty 自定义APP的名称 #在APP目录下创建migrations文件夹及内部所需文件 python3 manage.py makemigrations #将类转换成数据表结构 python3 manage.py migrate #根据上一句代码生成数据表
    Processed: 0.019, SQL: 9