1。在虚拟环境中安装pymysql库。Django项目默认使用mysqldb模块与mysql数据库进行交互,但是mysqldb模块对于python3.4及以上版本并不完美,所以我们需要使用替代方案,通过pymysql模块来完成与数据库的交互过程.我使用的是pipenv创建的虚拟环境,所以使用pipenvinstallpymysql2。在项目主目录下的init文件中添加如下代码importpymysql。这句话很重要,否则会报错django.core.exceptions.ImproperlyConfigured:mysqlclient1.3.13ornewerisrequired;你有0.9.3,里面的数字可能跟具体的版本号pymysql.version_info=(1,3,13,'final',0)pymysql.install_as_MySQLdb()3.在设置文件中设置数据库连接DATABASES={'default':{#'ENGINE':'django.db.backends.sqlite3',#'NAME':os.path.join(BASE_DIR,'db.sqlite3'),#连接到mysql'ENGINE':'django.db.backends.mysql','NAME':'django',#需要提前创建'USER':'root','PASSWORD':'123456','HOST':'127.0.0.1','PORT':'3306'}}4。在任何应用程序目录中的模型文件中创建一个模型类fromdjango.dbimportmodels#Createyourmodelshere。classPerson(models.Model):first_name=models.CharField(max_length=30)last_name=models.CharField(max_length=30)5.会创建一个好的模型类型类映射到数据库。直接在命令行输入pythonmanage.pymakemigrations或者pythonmanage.pymakemigrationsapp_name创建数据库表如下CREATETABLEmyapp_person("id"serialNOTNULLPRIMARYKEY,"first_name"varchar(30)NOTNULL,"last_name"varchar(30)不为空);可以在项目中指定app的名称,也可以不指定。如果不指定,则映射项目中所有应用的表模型。运行这个命令,在app中的migrations文件夹下运行这个命令就可以生成迁移记录文件6.在数据库中用映射后的数据表创建对应的表,运行以下命令pythonmanage.pymigrate或pythonmanage.pymigrateapp_name然后在mysql对应的数据库中可以看到生成的表表名会出现appname_person。
