我在龙卷风里用的是Django ORM,除了“syncdb”不起作用外,一切都很顺利。
这是我的目录结构:
APP_NAME/
APP_NAME/
models.py
settings.py
__init__.py
manage.py
database.db
当我这样做时,消息显示:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
创建了
python manage.py syncdb
文件(我正在使用splite3),但是没有创建表。值得注意的是,如果我在database.db
中引入一些语法错误,syncdb会抱怨,因此syncdb似乎能够找到我的models.py
。只是因为某些原因它没有创建表。以下是我的settings.py(我唯一遗漏的是secret_key),供您参考:
INSTALLED_APPS = (
'APP_NAME',
)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'database.db',
}
}
谢谢您。
另外,我不确定这是否相关,但我使用的是Python3.3.1+Django 1.5.1+Tornado3.0.1
最佳答案
如果是的话
django-admin startproject foobar
那么您的设置应该如下所示:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'foobar',
)
然后
python manage.py syncdb
会给你
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table foobar_mymodel