尚未加载Django应用:如何导入模型

时间:2018-12-28 02:55:02

标签: django

我有一个看起来像Django的项目

Operating System
  Name                        = Mac OS X
  Version                     = 10.14.2
  Architecture                = 64bit
  # CPUs                      = 4
  Memory                      = 8589934592

Node.js
  Node.js Version             = 8.9.1
  npm Version                 = 5.5.1

Titanium CLI
  CLI Version                 = 5.2.0

Titanium SDK
  SDK Version                 = 7.4.0.GA
  SDK Path                    = /Users/<user>/Library/Application Support/Titanium/mobilesdk/osx/7.4.0.GA
  Target Platform             = iphone

Command
  /Users/<user>/.nvm/versions/node/v8.9.1/bin/node /Users/<user>/.nvm/versions/node/v8.9.1/bin/ti build --sdk 7.4.0.GA --config-file /Users/<user>/.titanium/config.json --platform iphone --project-dir . --log-level trace --ios-version 12.0 --target simulator --no-banner

[TRACE] [ioslib] No iOS Simulator UDID specified, searching for best match
[TRACE] [ioslib] Scanning Xcodes: 10.0:10A255
[TRACE] [ioslib] Scanning Xcode 10.0:10A255 sims: 12.0
[TRACE] [ioslib] No watch app being installed, so picking first Simulator
[TRACE] [ioslib] Autoselected iOS Simulator: iPad (6th generation)
[TRACE] [ioslib]   UDID    = B92A9A60-1977-4B03-85C2-8377CFCC5401
[TRACE] [ioslib]   iOS     = 12.0
[TRACE] [ioslib] Autoselected Xcode: 10.0

我正在尝试将django中的sqllite db与我定期从其他来源查询的一些信息同步。因此,在project。 init .py中,我生成了一个定期查询数据的线程。 但是,我无法从那里访问我的模型并更新数据库,因为当我尝试将它们导入到 init .py

[ERROR] Could not configure remote backup:

我知道

> project
    > gui
        > __init__.py
        > models.py
        > views.py
        > ...
    > project
        __init__.py
        ...

是否有这样做的技巧或创建单独线程的其他方法?

2 个答案:

答案 0 :(得分:1)

Django Official Doc中,如果您使用的是Django“独立”组件,则应遵循以下步骤

import sys
import os
import django

sys.path.append("/path/to/project")  # here project is root folder(means parent).
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "store.settings")
django.setup()

from gui.models import GuiModel

# do something here with models

答案 1 :(得分:0)

如果您正确发送了所有详细信息,我认为您的代码中有一个循环导入。简单的方法是将导入移动到函数中。

您还可以在项目中创建自定义命令,并将cronjob添加到服务器以完成此工作。