2016-04-03 2 views
1

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, терминал шоу following-

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

ответ

2

Вы должны быть настройки вашего внешнего ключа например:

models.ForeignKey('travelers.ShortInfoTraveler') 

Если вы хотите использовать строку, чтобы установить отношение внешнего ключа.

Или вы должны просто установить ShortInfoTraveler, не будучи строкой, так как вы ее импортировали.

Установка его на "ShortInfoTraveler" ищет модель в текущем файле моделей вместо вашего другого приложения, которое вы можете увидеть в сообщении об ошибке.

Смежные вопросы