无法使用其他应用程序的外键?

时间:2016-04-03 15:31:38

标签: python django

travelers.models

from django.db import models

    class ShortInfoTraveler(models.Model):

    name = models.CharField(max_length=200, blank=True)

    email = models.EmailField(blank=True)

blogs.models

from django.db import models
from travelers.models import ShortInfoTraveler

class Title(models.Model):
    shortinfotraveler = models.ForeignKey('ShortInfoTraveler')
    title_text = models.CharField(max_length=255)
    description = models.CharField(max_length=255, null=True, blank=True)

当我运行makemigrations时,终端显示如下 -

ERRORS: blogs.Title.shortinfotraveler: (fields.E300) Field defines a relation with 
model 'blogs.ShortInfoTraveler', which is either not installed, or is abstract.

1 个答案:

答案 0 :(得分:2)

您应该像这样设置外键:

models.ForeignKey('travelers.ShortInfoTraveler')

如果要使用字符串设置外键关系。

或者您应该设置ShortInfoTraveler而不是字符串,因为您已将其导入。

将其设置为"ShortInfoTraveler"正在查找当前模型文件中的模型,而不是您在错误消息输出中看到的其他应用程序。