"未知命令syncdb"运行" python manage.py syncdb"

时间:2015-02-24 00:01:10

标签: django sqlite python-3.x django-1.9

我想创建一个名为“database1.sqlite”的数据库的表,所以我运行命令:

  

python manage.py syncdb

但是当我执行命令时,我收到以下错误:

  

未知命令:'syncdb'   输入'manage.py help'进行使用。

但是当我跑步时

  

manage.py help

我没有看到任何可疑替换

的命令
  

python manage.py syncdb

我使用的Python版本:3.4.2我使用的Django版本:1.9

如果有人能帮助我解决这个问题,我将非常感激。

提前致意并表示感谢

10 个答案:

答案 0 :(得分:45)

如果查看release notes for django 1.9,则会删除syncdb命令。

请改用migrate。继续前进migration commands would be as documented here

请注意,django-1.9版本从今天开始不稳定。

编辑:Django 1.9现在稳定

答案 1 :(得分:8)

新的django 1.9已删除" syncdb", 运行" python manage.py migrate", 如果您正在尝试创建超级用户,请运行" python manage.py createsuperuser"

答案 2 :(得分:6)

$python manage.py syncdb已弃用,现在不受支持。 因此,请按照以下说明进行操作。

您创建的模型是什么: 首先运行:

$python manage.py makemigrations

运行此命令后,您的模型将反映在迁移中。

然后你必须运行:

$python manage.py migrate

然后运行服务器:

$python manage.py runserver

现在,您的项目将完美运行。

答案 3 :(得分:2)

在Django 1.9之后syncdb命令被删除。因此,您可以使用migrate命令,而不是使用那个命令,例如:python manage.py migrate。然后您可以通过python manage.py runserver命令运行服务器。

答案 4 :(得分:1)

Django已删除python manage.py syncdb命令,现在您只需使用python manage.py makemigrations后跟python manage.py migrate即可。数据库将自动同步。

答案 5 :(得分:0)

您可以从命令行或批处理文件中将项目文件夹中的命令运行为:“python.exe manage.py migrate”。 如果你真的需要syncdb,你也可以将Django降级到旧版本(1.9之前)。

对于尝试从Visual Studio 2015运行Syncdb的人: 选项syncdb已从Django 1.9中删除(不推荐使用1.7),但此选项当前未在VS2015的上下文菜单中更新。

此外,如果您没有被要求创建超级用户,您应该手动运行此命令来创建一个:python.exe manage.py createsuperuser

答案 6 :(得分:0)

运行命令python manage.py makemigratons,然后运行python manage.py migrate to sync。

答案 7 :(得分:0)

Alternarte Way:

  1. 从环境中卸载Django Module
  2. 编辑Requirements.txt类型Django< 1.9
  3. 在环境中运行“从需求安装”选项
  4. 再次尝试使用Syncdb
  5. 这对我有用。

答案 8 :(得分:0)

我也尝试了此命令。最后,我找到了django的发行说明

  

1.9中已删除的功能

syncdb命令被删除。

Djnago Releases note 1.9

enter image description here

答案 9 :(得分:0)

我遇到了同样的问题,对我唯一有用的就是该命令。

fn populate_returning_old_val(next: &mut Option<Box<Node>>) -> Option<Node> {
  std::mem::replace(
    next,
    Some(Box::new(Node { value: true, next: None }))
  ).take().map(|boxed_node| *boxed_node)
}

运行此命令可获得此结果。

python3 manage.py migrate --run-syncdb