Me pregunto si es posible definir una clave externa en un archivo models.py en Django que sea una referencia a una tabla en otra aplicación.
En otras palabras, tengo dos aplicaciones, llamadas cf y profiles, y en cf / models.py tengo (entre otras cosas):
class Movie(models.Model):
title = models.CharField(max_length=255)
y en profiles / models.py quiero tener:
class MovieProperty(models.Model):
movie = models.ForeignKey(Movie)
Pero no puedo hacer que funcione. He intentado:
movie = models.ForeignKey(cf.Movie)
e intenté importar cf.Movie al comienzo de models.py, pero siempre obtengo errores, como:
NameError: name 'User' is not defined
¿Estoy rompiendo las reglas al tratar de unir dos aplicaciones de esta manera, o simplemente me equivoqué con la sintaxis?
También es posible aprobar la clase en sí:
fuente
De acuerdo, lo he descubierto. Puedes hacerlo, solo tienes que usar la
import
sintaxis correcta . La sintaxis correcta es:Mi error fue no especificar la
.models
parte de esa línea. ¡Oh!fuente