我在Tornado中使用Django ORM,除了“syncdb”不起作用外,一切顺利。
所以这是我的目录结构:
APP_NAME/
APP_NAME/
models.py
settings.py
__init__.py
manage.py
database.db
当我python manage.py syncdb
时,消息显示:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
创建了database.db
文件(我正在使用splite3),但没有创建表。值得注意的是,如果我在models.py
中引入了一些语法错误,syncdb会抱怨,所以似乎syncdb能够找到我的models.py
。只是因为某些原因它没有创建表格。
供你参考,这是我的settings.py(我唯一省略的是SECRET_KEY):
INSTALLED_APPS = (
'APP_NAME',
)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'database.db',
}
}
谢谢。
P.S。我不确定这是否相关,但我使用的是Python 3.3.1 + Django 1.5.1 + Tornado 3.0.1
答案 0 :(得分:0)
如果你做了
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