执行python manage.py makemigrations blog报错

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlclient?

解决: 在项目目录init.py文件中添加

import pymysql
pymysql.install_as_MySQLdb()

再次执行python manage.py makemigrations blog报错

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.2.

解决:将init.py文件中添加pymysql.version_info=(1,3,13,”final”,0)

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

再次执行python manage.py makemigrations blog

Migrations for 'blog':
    blog/migrations/0001_initial.py;
        - Create model Post

执行python3 manage.py sqlmigrate blog 0001

BEGIN;
CREATE TABLE "blog_post" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(250) NOT NULL, "slug" varchar(250) NOT NULL, "body" text NOT NULL, "publish" datetime NOT NULL, "created" datetime NOT NULL, "updated" datetime NOT NULL, "status" varchar(10) NOT NULL, "author_id" integer NOT NULL REFERENCES "auth_user" ("id"));
CREATE INDEX "blog_post_2dbcba41" ON "blog_post" ("slug");
CREATE INDEX "blog_post_4f331e2f" ON "blog_post" ("author_id");
COMMIT;

执行python3 manage.py migrate

Rendering model states... DONE
Applying contenttypes.ooo1_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length...OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying sessions.0001_initial... OK

迁移成功!

文章来源于互联网,如有雷同请联系站长删除:Django执行数据库迁移报错

发表评论