首页 > 技术文章 > django1.7取消syncdb后不能创建model相应表的问题

mzct123 2016-07-19 12:34 原文

一、在运行一个django程序时,无法创建自定义model相应的表。

我检查seetings.py文件,发现自定义的app,blog已经写到INSTALLED_APPS中,

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

执行:python manage.py syncdb,结果显示:unknown command : 'syncdb'。

查询后知道在django1.7之后用migrate代替syncdb去连接数据库并且设置应用程序所需的表,所以我执行:python manage.py migrate后,显示:

但在运行程序时显示,没有找到我们自定义model所创建的表。

 

二、

原来直接执行python manage.py migrate,创建新的表都是与原来的数据相联系,要创建blog的表需要创建新的migrations:

 

所以我们用下面的两句来代替syncdb创建与model关联的表:

python manege.py makemigrations appname

python manage.py migrate

推荐阅读