我是个新手,也是Django和South的新用户。我创造了一个新模型(审批.py)在我的models包中(并将其链接到model的init.py中),并且能够成功地迁移我的应用程序以接受新模型。然而,当我试图在管理站点上寻找该模型时,我得到了一个403禁止错误,因为没有应用监护人权限。 因此,我直接从sqlite命令提示符中删除了表,并再次尝试执行以下命令:
$python manage.py syncdb
...
(use ./manage.py migrate to migrate these)
$python manage.py schemamigration myapp --auto
Nothing seems to have changed.
$python manage.py migrate myapp
Running migrations for myapp:
- Nothing to migrate.
- Loading initial data for myapp.
Installed 0 object(s) from 0 fixture(s)
但是,当我签入sqlite命令提示符时,不再创建表。而且,我已经在我的admin.sites.url,但它不再显示它并给出错误:
^{pr2}$我已经检查了StackOverflow上发布的关于使用South进行迁移的所有其他问题,特别是关于“似乎什么都没有改变”的错误。然而,我无法用这些解决方案来解决我的问题。在
我恳请您帮忙:
谢谢。在
您已经创建了一个创建新表的迁移,根据South的历史管理,您已经运行了这个迁移。South不知道数据库的实际更改。在
您需要做的是在创建新表之前恢复到迁移。如果你查看你的apps文件夹,你会发现一个
migrations
文件夹,里面有一些迁移文件。如果您在migration0005
中创建了新表,则需要(可选)向后迁移到0005
,然后需要伪造向后迁移到0004
并再次迁移:最后,经过多次尝试和错误,一些非常简单的事情对我奏效了。我在南迁中运气不好。因此,当我从sqlite3中手动删除表时,我决定在sqlite3中手动创建表,一切都非常顺利。 我在sqlite3提示符上使用了下面的脚本,它解决了我的问题,我能够通过我的管理站点正确地访问approval页面,并对其执行所有CRUD操作。在
感谢大家的帮助和支持!在
相关问题 更多 >
编程相关推荐