在Tornado中使用Django ORM,“syncdb”不起作用

时间:2013-05-12 01:42:25

标签: python django django-models tornado

我在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

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