django models.py增加后MySQL数据库中并没有生成相应的表

django models.py增加model后执行python manage.py makemigrations以及python manage.py migrate,MySQL数据库中并没有生成相应的表

阅读 9.5k
2 个回答

首先需要查看你的settings.py配置,其中:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}
# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

如果你的配置不是mysql,则Django会默认使用sqlite,且在你运行以上命令时,在project目录下生成一个sqlite数据库文件。

如果配置正确,且是mysql,则运营你的脚本之后,会在mysql相应的数据库中生成相应的表,表名默认是<app_name>_<model_name>

如果还有问题,请参考:
https://docs.djangoproject.co...

出现这种情况有几种情况:
1,django settings.py里面关于db的配置不对
2,db model写的可能有问题
可能还有其他情况

一个小建议:把执行 python manage.py migrate 命令的结果给出来,可以方便别人帮助你快速分析定位和解决问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题