2016-04-03 14 views
1

travelers.modelsKann der Fremdschlüssel nicht von einer anderen App verwendet werden?

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) 

Und wenn ich makemigrations, Terminal zeigen folgenden-

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

Antwort

2

laufen sollten Sie Ihre Fremdschlüssel werden Einstellung so:

models.ForeignKey('travelers.ShortInfoTraveler') 

Wenn Sie eine Zeichenfolge verwenden möchten, um die Fremdschlüsselbeziehung festzulegen.

Oder Sie sollten einfach ShortInfoTraveler setzen, ohne dass es eine Zeichenkette ist, seit Sie es importiert haben.

Einstellung es auf "ShortInfoTraveler" sucht nach dem Modell in der aktuellen Modelldatei statt Ihrer anderen App, die Sie in der Fehlermeldung Ausgabe zurück sehen können.

Verwandte Themen