除了用户信息之外,我还有两个文件中的6个模型(收益和请愿)。有一些相互依赖。当我更改模型时,出现了一些错误。所以我想重新开始并想放弃所有桌子。
我运行 sqlflush 和 Sqlclear ,结果如下。
Sqlflush 结果
BEGIN;
DELETE FROM "django_admin_log";
DELETE FROM "auth_permission";
DELETE FROM "auth_group";
DELETE FROM "auth_group_permissions";
DELETE FROM "django_session";
DELETE FROM "auth_user_groups";
DELETE FROM "auth_user_user_permissions";
DELETE FROM "benef_beneficiary_information";
DELETE FROM "petition_employer";
DELETE FROM "petition_job";
DELETE FROM "nashvegas_migration";
DELETE FROM "benef_beneficiary";
DELETE FROM "auth_user";
DELETE FROM "benef_beneficiaryname";
DELETE FROM "petition_petition";
DELETE FROM "django_content_type";
COMMIT;
Finished "C:\pyProjs\immiFile\manage.py sqlflush" execution.
Sqlclear benef result is
BEGIN;
DROP TABLE "benef_beneficiary_information";
DROP TABLE "benef_beneficiary";
DROP TABLE "benef_beneficiaryname";
COMMIT;
Finished "C:\pyProjs\immiFile\manage.py sqlclear benef" execution.
sqlclear petition result is
BEGIN;
DROP TABLE "petition_petition";
DROP TABLE "petition_job";
DROP TABLE "petition_employer";
COMMIT;
Finished "C:\pyProjs\immiFile\manage.py sqlclear petition" execution.
但是当我运行项目并转到管理员时,我仍然看到旧表,当我点击它们时,与字段相关的错误来自,这最初是由模型更改引起的。数据不相关
OperationalError at /admin/benef/beneficiary/
no such column: benef_beneficiary.last_edited_by_id
我想重新开始。解决方案是什么?
我正在使用Django 1.8和Python 2.7
答案 0 :(得分:0)
sqlflush
:打印将为flush命令执行的SQL语句。
它只打印 执行的语句。它没有触及数据库(同样适用于sqlclear
)。您需要改为使用flush
。
另请注意flush
上的文档:
从数据库中删除所有数据并重新执行任何数据 后同步处理程序。迁移的表格 申请未被清除。
如果您希望从空数据库开始并重新运行所有数据库 迁移时,您应该删除并重新创建数据库,然后运行 而是迁移。
答案 1 :(得分:0)
我想重新开始。解决方案是什么?
确定的火灾方式,将删除所有内容(包括您的数据):
runserver
,请确保其已停止)migration
目录。./manage.py makemigrations
./manage.py migrate