【问题标题】:How to Edit a Database Table Following a Django App Name Change如何在 Django 应用程序名称更改后编辑数据库表
【发布时间】:2013-05-24 22:39:53
【问题描述】:

我刚刚创建了我的第一个使用 Postgres 数据库的 Django 应用程序......它一直在工作,直到我试图重命名它而破坏它。我在数据库中只有占位符数据,所以我不关心数据库迁移,我只是想让我的应用程序再次运行并且使用空数据库就可以了。我在这里找到了这个问题:How to change the name of a Django app?,它列出了重新命名 Django 应用程序所涉及的步骤。我已经完成了前两个,即 1) 重命名在项目根目录中找到的文件夹,以及 2) 在其依赖项中更改对应用程序的任何引用,即应用程序的视图、urls.py 和 settings.py 文件。

作为 Django 和编程的新手,我不清楚第三步。指示是:

“使用以下命令编辑数据库表 django_content_type:UPDATE django_content_type SET app_label='' WHERE app_label='' 注意:要重命名模型,您需要更改 django_content_type.name”

所以我有两个非常具体的问题:

1) 我在哪里/如何编辑数据库表?如,我在哪里实际键入此命令?和/或如何更改“django_content_type.name”?

2) 我已经将我的项目推送到 Heroku 并且在那里有我的应用程序的工作版本。我需要在 Heroku 方面做些什么来处理这个变化?

提前感谢您的耐心等待!

【问题讨论】:

  • 只是一个建议,但如果数据库中只有占位符数据,为什么不直接删除所有表并再次执行python manage.py syncdb
  • 啊。聪明的。让这件事运行起来涉及很多步骤,我忘记了我可以做到这一点。谢谢。
  • 关于如何在 heroku 方面做到这一点的任何建议?
  • 抱歉,我以前从未使用过它:/ 但我假设你已经得到它,因为你标记了一个解决方案?
  • 是的,谢谢你的帮助:)

标签: python django postgresql heroku


【解决方案1】:

需要手动去数据库表,或者使用dbshell

> ./manage.py dbshell #opens the database command line.

这会将您置于命令行中

$> UPDATE django_content_type SET app_label='<new_label>' WHERE app_label='<old_label>'
$> <ctrl>-D

这是让你一切就绪。除了此更改之外,您不需要在 heroku 方面做任何其他事情。

【讨论】:

    猜你喜欢
    • 2018-06-13
    • 2012-01-14
    • 2012-07-09
    • 2015-02-21
    • 2015-01-14
    • 2012-03-31
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多