gpt4 book ai didi

Django - 从另一个项目导入模型

转载 作者:行者123 更新时间:2023-12-02 16:14:46 26 4
gpt4 key购买 nike

我从来没有做过这样的事情,所以我不确定解决这个问题的最佳方法是什么:

我有两个 Django 项目:

root/
project1/
manage.py
project1/
models.py
urls.py
...
project2/
manage.py
project2/
models.py
urls.py
...

这些项目使用相同的数据库,每个项目都有大约 10 个模型(数据库表),并且其中一些模型重叠:项目 1 需要来自项目 2 的模型之一的外键,但项目 2 也需要来自项目 1 的模型之一的外键:

项目1:

class Area_model(models.Model):
name = models.CharField(max_length=25)
url = models.CharField(max_length=25)

class Question_model(models.Model):
text = models.TextField(max_length=1000)
date = models.CharField(max_length=40)
answer = models.SmallIntegerField()
...
employee = models.ForeignKey(Employee_model)

项目2:

class Employee_model(models.Model):
name = models.CharField(max_length=15)
adress = models.CharField(max_length=15)
area = models.ForeignKey(Area_model)

我尝试将project1.models导入到project2的models.py中,但它显示“未知模块”。我需要将project1导入到project2并反向导入,这会是一个问题吗? (循环引用?)如果是这样,我怎样才能以其他方式实现这一点?

最佳答案

在 WSGI.py 中,通过 sys.path.append('/root') 将第二个项目的路径添加到 sys.path 中。

在第一个项目的 settings.py 中,将 'project2.app2' 添加到 INSTALLED_APPS 列表中:

INSTALLED_APPS = [
...
'app1',
'project2.app2',
...
]

然后您应该能够使用 from project2.project2.models import * 轻松导入第二个项目的模型

至少对我来说是这样的。

关于Django - 从另一个项目导入模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37961413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com