我有两个django / python应用程序,一个在Django 1.8和Python 3.4上运行,另一个在Django 1.8和Python 2.7上运行。这些应用程序共享一个数据库,并使用一个python包,其中包含几个不同应用程序中两个应用程序之间共享的几个模型。
在3.4上运行的应用程序工作正常,但在2.7上运行的应用程序抛出了ValueError:Relate Model' model_reference'无法解决。
在这个psuedo示例中,包是core_app,这两个模型位于core_app中包含的名为foobar和barfoo的单独应用程序中。
foobar的/ models.py
std::thread t ( &Client::run, std::move(new_client) );
barfoo / models.py
class Model_A(models.Model):
name = TextField()
这是完整的堆栈跟踪。
class Model_B(models.Model):
model_a = ForeignKey('core_app_foobar.Model_A')
答案 0 :(得分:-1)
试一试:
class Model_B(models.Model):
model_a = ForeignKey('foobar.Model_A')
不要忘记继承django模型。 (两者)
from django.db import models
要引用另一个应用程序中定义的模型,您可以明确地使用 使用完整的应用程序标签指定模型。例如,如果 上面的制造商模型在另一个名为的应用程 制作,你需要使用:
答案 1 :(得分:-1)
您可以通过以下方式之一进行操作 -
barfoo/models.py
-
1)
from django.db import models
class Model_B(models.Model):
model_a = models.ForeignKey('foobar.Model_A')
<强> 2)强>
from django.db import models
from core_app.foobar import models as foobar_models
class Model_B(models.Model):
model_a = models.ForeignKey(foobar_models.Model_A)