从一个应用程序导入模型错误到另一个应用

时间:2013-04-19 13:21:16

标签: python django models

我在django项目中有2个应用程序。我想将模型从一个应用程序导入到另一个应用程序。但它给了我

  

NameError:名称'JobGenre'未定义

当我尝试syncdb

customer.models

from job.models import JobGenre
class Worker(Costumer):
   keyword=models.ForeignKey(JobGenre, null=True)

并在job.models

class JobGenre(models.Model):
    genre=models.CharField(max_length=40)

如果我使用

keyword=models.ForeignKey('job.models.JobGenre', null=True)

它给出了

  

错误:一个或多个模型未验证:   costumer.worker:'keyword'与模型job.models.JobGenre有关系,它没有安装或是抽象的。

在这种情况下我该怎么做?

2 个答案:

答案 0 :(得分:0)

keyword=models.ForeignKey('job.models.JobGenre', null=True)

对我来说看起来不对。

尝试改为:

keyword.models.ForeignKey('job.JobGenre', null=True)

答案 1 :(得分:0)

您不需要提供ForeignKey方法的完整包路径。只需给appname.modelclass即可。

keyword=models.ForeignKey('job.JobGenre', null=True)

应该有效。请参考here