Estou me perguntando se é possível definir uma chave estrangeira em um arquivo models.py no Django que é uma referência a uma tabela em outro aplicativo?
Em outras palavras, tenho dois aplicativos, chamados cf e profiles, e em cf / models.py tenho (entre outras coisas):
class Movie(models.Model):
title = models.CharField(max_length=255)
e em profiles / models.py eu quero ter:
class MovieProperty(models.Model):
movie = models.ForeignKey(Movie)
Mas não consigo fazer funcionar. Eu tentei:
movie = models.ForeignKey(cf.Movie)
e tentei importar cf.Movie no início de models.py, mas sempre recebo erros, como:
NameError: name 'User' is not defined
Estou quebrando as regras ao tentar amarrar dois aplicativos dessa maneira ou apenas entendi a sintaxe errada?
Também é possível passar na própria aula:
fonte
OK - eu descobri. Você pode fazer isso, basta usar a
import
sintaxe certa . A sintaxe correta é:Meu erro foi não especificar a
.models
parte dessa linha. D'oh!fonte