问题描述
之前成功生成过,重新执行python manage.py migrate
后,数据库没有生成对应的数据表;表现为
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
执行python manage.oy makemigrations
后没有migrations文件:
版本说明
python: 3.8.2
django: 4.2.1
mysql: 8.0.33
问题处理
- 查看路径是否在项目所在路径,建议使用pycharm,启动终端即在项目目录
- 查看models是否正确,别忘了继承models.Model
from django.db import models
# Create your models here.
class Books(models.Model):
...
- 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
两条命令最好记得,如果通过pycharm, 会自动生成一个
migrations
目录,而这两条命令,正是一个make
+migrations
, 一个直接用动词migrate
小结
本来不是大问题,细心点就好了。。。
附录
- 连接mysql需要在项目的
__init__.py
中加
import pymysql
pymysql.install_as_MySQLdb()
不然启动项目,会报错:no module named MySQLdb