一、在运行一个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