我已经编写了一些python代码来完成任务。目前,我将4-5个类存储在不同的文件中。现在我想把整个东西变成一个数据库支持的web应用程序。我一直在阅读关于Django的教程,到目前为止,我得到的印象是,我需要为我使用的每个“模型”手动指定字段及其类型。这对我来说有点令人惊讶,因为我期待着某种ORM功能,它只会接受我已经定义的现有类,并以某种方式将它们映射到数据库上,以一种从我身上抽象出来的方式。
难道不是这样吗?我是不是遗漏了什么?看起来我需要指定文件'models.py‘中的所有字段和类型。
好了,现在除了这些细节之外,有没有人有任何关于将面向对象的桌面应用程序迁移到web应用程序的最佳方法的一般提示?
谢谢!
发布于 2010-11-16 17:16:01
这就是Django的ORM:它将类映射到表。你还期待什么呢?但是,在使用字段之前,需要通过某种方式指定字段,这是通过models.Model类和各种models.Field子类进行管理的。当然,您可以使用您的类作为混合,以便在字段定义之上使用现有的业务逻辑。
发布于 2010-11-16 17:47:40
有一个内部检查数据库以将其转换为django models.py格式的抽象。但据我所知,没有任何人会内省python类并将任意数据存储到db中。这是怎么回事呢?现在,这些对象是作为泡菜存储的吗?
发布于 2010-11-17 00:51:53
您必须检查输出,但您可以让Django通过一次性自省从现有数据库自动创建模型。
通过下面的链接,您可以在settings.py中设置数据库,然后调用
python manage.py inspectdb这将把样本models.py文件转储到标准输出,以供您检查。为了创建文件,只需重定向输出
python manage.py inspectdb > models.py有关详细信息,请参阅:
http://docs.djangoproject.com/en/dev/howto/legacy-databases/?from=olddocs#auto-generate-the-models
https://stackoverflow.com/questions/4192339
复制相似问题