【问题标题】:Django ORM for desktop application用于桌面应用程序的 Django ORM
【发布时间】:2009-07-30 13:58:56
【问题描述】:

最近,我越来越熟悉 Django。我有一个正在处理的新项目,它将使用 Python 作为桌面应用程序。是否可以在桌面应用程序中使用 Django ORM?还是我应该选择SQLAlchemy 之类的东西?

【问题讨论】:

标签: python django orm


【解决方案1】:

Django 人是明智的人,他们具有解耦的哲学。所以是的,理论上你应该完全能够在独立的应用程序中使用 Django 的 ORM。

这是我找到的一份指南:Django ORM as a standalone component

【讨论】:

  • 该链接不是特定于桌面的,因此可能还有一些问题。 (本周我试图让它运行,但遇到了一些障碍。)只是给大家提个醒。
【解决方案2】:

如果您更喜欢类似 Django 的语法,我建议您使用 SQLAlchemy 和它上面的声明层,例如 Elixir

【讨论】:

  • SQLAlchemy 还公开了更多的 SQL 设计,使其更容易使用 3rd 方报告工具。
【解决方案3】:

是的。麻省理工学院媒体实验室的常识计算项目为 ConceptNet 做这件事, 语义网络。你可以在这里获取源码:http://pypi.python.org/pypi/ConceptNet/4.0b3

【讨论】:

    【解决方案4】:

    peewee ORM 有一个 django 用户应该熟悉的声明式语法,并且可以作为独立的使用。这里是项目docs

    【讨论】:

      【解决方案5】:

      我建议另一个用于桌面应用程序的 ORM,可能是 SQLAlchemy 或 SQLObject。 我可以使用 django ORM,但我认为如果您要单独使用它们,其他 ORM 会更好。

      【讨论】:

        【解决方案6】:

        Camelot 似乎很有希望,如果你想使用 DB 来做 Python 桌面应用程序。它虽然使用 SQLAlchemy。还没试过。

        【讨论】:

          【解决方案7】:

          这是可能的,并记录在in the docs here

          你需要像下面这样设置 django:

          import django
          from django.conf import settings
          from myapp import myapp_defaults
          
          settings.configure(default_settings=myapp_defaults, DEBUG=True)
          django.setup()
          
          # Now this script or any imported module can use any part of Django it needs.
          from myapp import models
          

          【讨论】:

            猜你喜欢
            • 2013-01-25
            • 2021-01-02
            • 2013-08-31
            • 2012-03-09
            • 2018-02-19
            • 1970-01-01
            • 2011-08-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多