【问题标题】:Using django ORM from non django python script从非 django python 脚本中使用 django ORM
【发布时间】:2018-12-06 18:29:05
【问题描述】:

这里是场景。我在一个目录下有 Django 项目和 python 脚本项目。 python脚本需要在预定的时间独立运行,还需要访问Django使用的数据库。

是否可以在 python 脚本中使用/导入现有的 Django 代码来访问 db.如果有怎么办?

这个想法来自 C# 应用程序,其中模型和数据访问层可以构建为库并可以在许多项目中使用。

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    是的,您可以只使用 Django 的 ORM 部分,而无需使用 Web 部件。

    您的 Django 应用程序的目录需要在您的 PYTHONPATH 中,您必须明确设置 os.environ["DJANGO_SETTINGS_MODULE"],并且您必须导入您想要使用的任何模型。从那里,您可以照常创建和更新模型:

    from myapp.models import Customer, Order
    c = Customer.objects.create(name='John Smith')
    orders = Order.objects.filter(customer__name='Mary Brown')
    

    【讨论】:

      【解决方案2】:

      遇到同样的问题,最后决定在 django 自定义命令中实现一个守护进程。 您可以像在 django 代码中一样导入任何与 django 相关的内容,同时实现自己的代码。

      【讨论】:

        【解决方案3】:

        您可以使用Django Rest Framework

        这是一个 Django 包,您可以使用它为其他应用程序创建一个 JSON API 以与您的网站进行通信。

        【讨论】:

          猜你喜欢
          • 2021-05-16
          • 2011-06-18
          • 2023-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-06
          • 2018-01-17
          • 1970-01-01
          相关资源
          最近更新 更多