Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Django项目之间传输数据_Django - Fatal编程技术网

在Django项目之间传输数据

在Django项目之间传输数据,django,Django,我有两个Django项目具有类似的应用程序,我需要将数据从一个应用程序(@djangoproject1)传输/转换到另一个应用程序(@djangoproject2)。我访问这两个项目/数据库的脚本(受启发)如下所示 import os import sys from django.apps import apps sys.path.append('/django/djangoproject1') sys.path.append('/django/djangoproject2') os.env

我有两个Django项目具有类似的应用程序,我需要将数据从一个应用程序(@djangoproject1)传输/转换到另一个应用程序(@djangoproject2)。我访问这两个项目/数据库的脚本(受启发)如下所示

import os
import sys
from django.apps import apps

sys.path.append('/django/djangoproject1')
sys.path.append('/django/djangoproject2')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoproject1.settings")
from djangoproject1 import settings

apps.populate(settings.INSTALLED_APPS) 
from app1.models import Page
mypage = Page.objects.get(id=1234)
print(mypage.title)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoproject2.settings")
from djangoproject2 import settings

apps.populate(settings.INSTALLED_APPS) 
from app2.models import Page
mypage = Page.objects.get(id=3421)
print(mypage.title)
从app2导入模型页面失败,参考models.py中的第一个模型:

RuntimeError:Model类app2.models.FirstModel未声明明确的应用程序标签,并且不在已安装的应用程序中。

如果一个项目(djangoproject1或djangoproject2)的配置被注释掉,脚本工作正常(打印相应页面的标题)。如何从一个项目/应用加载数据库内容,然后正确切换到另一个项目/应用


澄清一下:目标应用程序中的表已经填充,因此我需要插入源应用程序中创建新ID的数据。然后,表中的一个foreignkey指向现有的条目,需要保持这种关系不变。我希望首先选择顶级条目,将其插入新表中,然后使用新id作为其直接子代的父项,等等。

如果两个单独的项目需要传输数据,那么使用
API
来传输数据可能是更好的选择,也更安全。您可以使用
django rest framework
,因为这是在本地(在我的开发机器上)完成的一次性数据传输,所以安全性不是问题。我只需要访问第一个数据库,提取一些条目,转换它们并将它们提供给第二个数据库。较旧的django项目将在以后归档。为什么不在数据库级别进行此操作呢?我想使用django ORM进行转换。