我刚刚开始使用Django。我喜欢破解事物,所以除了民意调查教程之外,我还在构建自己的实验应用程序。我想改变实验应用程序及其相关项目的名称已经过去了。
在处理这个问题的过程中,我决定放弃当前的数据库,重新开始。出了点问题,我记不起来了。现在已经好几个小时,在这里取得进展,在那里搜索。
我现在看来的情况是Django拒绝注意models.py
中的变化。目前,我运行manage.py showmigrations
时没有为应用列出迁移,尽管该应用本身已列出。
我尝试删除迁移目录,更改models.py
文件的内容及其组合,并尝试各种看起来很有希望的manage.py
命令。到目前为止,没有任何效果。
那么,我可能做错了什么?请记住,我已更改应用程序的名称,包括更改其存储的目录名称以及数据库的名称。已对项目和应用程序中的文件执行搜索和替换。 settings.py
已被仔细考虑过,但我所知道的一切似乎都很好。
谢谢!
答案 0 :(得分:1)
我假设您在settings.py中更改了应用名称?当你说你改变你的应用名称时,你开始一个新的应用程序或一个新的项目...意思是,当你开始时你这样做:
django-admin.py startproject myproject
运行startproject会为您提供以下文件夹和文件结构:
├── manage.py └── myproject ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
从那里,你可以运行
python manage.py startapp myapp
这将使您的文件夹结构如下所示:
├── manage.py ├── my_django15_project │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── myapp ├── __init__.py ├── models.py ├── tests.py └── views.py
从那里,您可以通过更改文件夹名称' myapp'来更改您的应用。到了mynewapp'然后通过修改settings.py来让mynewapp'列在你的INSTALLED_APPS部分。
执行此操作后,您应该运行
pythonmanage.py makemigrations mynewapp
验证它是否生成迁移文件
然后运行
python manage.py migrate
如果您将myproject文件夹更改为新名称,例如mynewproject,我建议您尝试更改其名称,然后再运行
django-admin.py startproject mynewproject
然后执行此操作后,相应地更新这些文件,并将myapp文件夹复制到mynewproject文件夹中。
您可能想要检查的其他一些事情是数据库连接器是否正确,还尝试重新启动您的网络服务器。
如果这些都不起作用,您需要提供更多信息,请给我留言并告诉我
祝你好运