【问题标题】:How to use a model from a Django project in another Python script如何在另一个 Python 脚本中使用来自 Django 项目的模型
【发布时间】:2015-04-29 19:45:04
【问题描述】:

我有一个目录,其中包含一个带有 models.py 的 Django 项目,我在其中定义了一些模型。我在其他地方有另一个目录,其中有一个 Python 脚本。在这个脚本中,我想从 models.py 中导入其中一个模型“Foo”。

对于“Foo”表,我想创建条目、更新、获取等...我该怎么做呢?

【问题讨论】:

    标签: python django


    【解决方案1】:

    你需要运行 django.setup()

    import os
    import django
    
    script_path = os.path.dirname(__file__)
    os.environ['DJANGO_SETTINGS_MODULE']='myapp.settings'
    django.setup()
    

    现在您可以正常导入模型了

    【讨论】:

      【解决方案2】:

      你可以使用sql炼金术

      您可以将主脚本添加为 django 项目的一部分

      您可以使用 Django Rest Framework 提供内容,当您通过 manage.py 访问时会发生数据库连接,该表可供任何有权限的人使用。

      tl:博士;您需要连接到所述数据库

      【讨论】:

        【解决方案3】:

        如果您的 django 项目在您的 PYTHONPATH 中,您可以在任何地方访问它,否则您可以使用 importlib.machinery 导入它或制作一个 .pth 文件并在那里指定您的 django 的路径

        import importlib.machinery
        loader = importlib.machinery.SourceFileLoader('modulename', 'path/to/module')
        module = loader.load_module()
        

        如果您使用 django 应用程序的路径来加载模型,现在您可以使用模块来访问您的 models.py

        或使用站点模块添加它

        import sites, 
        sites.addsitedir('/path/to/your/module.py')
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-08
          • 2020-09-06
          • 2019-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多