问题描述

之前成功生成过,重新执行python manage.py migrate后,数据库没有生成对应的数据表;表现为

Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  No migrations to apply.

执行python manage.oy makemigrations后没有migrations文件:
django 数据迁移makemigrations和migrate的备忘录-LMLPHP

版本说明

python: 3.8.2
django: 4.2.1
mysql: 8.0.33

问题处理

  1. 查看路径是否在项目所在路径,建议使用pycharm,启动终端即在项目目录
  2. 查看models是否正确,别忘了继承models.Model
from django.db import models


# Create your models here.
class Books(models.Model):
    ...
  1. settings是否添加应用名
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01'
]

pycharm创建django会自动添加

重新执行

python manage.py makemigrations
python manage.py migrate

django 数据迁移makemigrations和migrate的备忘录-LMLPHP

小结

本来不是大问题,细心点就好了。。。

附录

  1. 连接mysql需要在项目的__init__.py中加
import pymysql
pymysql.install_as_MySQLdb()

不然启动项目,会报错:no module named MySQLdb

05-17 17:58