Django models Django sqlite-如何更改模式

Django models Django sqlite-如何更改模式,django-models,Django Models,我已经在Django中对model.py进行了更改,现在我想同步这些更改。可以删除表并重新创建它们。然而,似乎什么都不起作用。我正在使用sqlite3: syncdb:仅在第一次使用时有效,不适用于更改 “python manage.py sql my_site”,后面是syncdb:我原以为这会“重做”所有内容,但该表仍然只有旧列(或者我假设在尝试使用我的模型访问该表时出错) 然后我想我可以直接访问数据库,并通过这种方式删除表。但是,我不知道如何“进入”数据库,在那里我可以执行命令。无法识别从

我已经在Django中对model.py进行了更改,现在我想同步这些更改。可以删除表并重新创建它们。然而,似乎什么都不起作用。我正在使用sqlite3:

syncdb:仅在第一次使用时有效,不适用于更改

“python manage.py sql my_site”,后面是syncdb:我原以为这会“重做”所有内容,但该表仍然只有旧列(或者我假设在尝试使用我的模型访问该表时出错)

然后我想我可以直接访问数据库,并通过这种方式删除表。但是,我不知道如何“进入”数据库,在那里我可以执行命令。无法识别从命令提示符键入sqlite3。我还尝试了“python manage.py sql my_site”,但我再次得到消息,sqlite3无法识别


建议?

首先,您必须为sqlite安装命令行工具。在Ubuntu/Debian上,您只需

sudo apt-get install sqlite3
在windows上,您可以从以下位置下载:。寻找一个类似于sqlite-shell-win32-xxx.zip的

像这样使用它:

> sqlite3 /path/to/your/database
;show some help
.help 
; list all databases
.databases
; clear the contents of a table
DELETE FROM <tablename>;

使用Django的内置数据库管理工具:

python manage.py dbshell

并发出所需的sql命令。
sql
命令将只向stdout打印创建当前表(由当前模型定义)所需的sql

我猜你的分类是错误的,请指定你正在使用的操作系统,并且Django不会在第二次运行syncDB时重新创建/更改表
python manage.py dbshell