将现有数据库调整为django应用程序

时间:2009-10-29 21:49:03

标签: python database postgresql django-models django-views

我有一个包含数据的Postgresql数据库。我想用该数据库创建一个django应用程序。

如何将表导入django模型和/或视图?

2 个答案:

答案 0 :(得分:17)

有一个名为manage.py inspectdb的实用程序可以从现有数据库生成模型。它运作得很好。

$ python manage.py inspectdb > models.py

答案 1 :(得分:3)

如果您的数据库不是很简单 - 或者设计得非常好 - 您会发现它与Django不合适。

虽然reverse engineering效果很好,但您可能会发现原始数据库设计存在缺陷,并且您有很多笨拙的解决方法。

问题是与旧数据模型一起使用的“遗留软件”之一。

我建议您执行以下操作。

  1. 使用Django设计正确的数据模型。

  2. 将正确的模型映射到您拥有的任何模型。

  3. 编写一个转换脚本,该脚本使用简单的直接SQL和Django ORM将数据从非Django友好型迁移到更好的模型。

    • 如果您有旧版软件,则必须制定适当的数据移动时间表。

    • 如果您没有任何旧版软件,则只需运行此转换一次。