Saya bertanya-tanya apakah mungkin untuk mendefinisikan kunci asing dalam file models.py di Django yang merupakan referensi ke tabel di aplikasi lain?
Dengan kata lain, saya memiliki dua aplikasi, yang disebut cf dan profil, dan di cf / models.py saya punya (antara lain):
class Movie(models.Model):
title = models.CharField(max_length=255)
dan di profiles / models.py Saya ingin memiliki:
class MovieProperty(models.Model):
movie = models.ForeignKey(Movie)
Tapi saya tidak bisa membuatnya bekerja. Saya sudah mencoba:
movie = models.ForeignKey(cf.Movie)
dan saya sudah mencoba mengimpor cf.Movie di awal models.py, tapi saya selalu mendapatkan kesalahan, seperti:
NameError: name 'User' is not defined
Apakah saya melanggar aturan dengan mencoba menyatukan dua aplikasi dengan cara ini, atau apakah sintaks saya salah?
Dimungkinkan juga untuk melewati kelas itu sendiri:
from django.db import models from production import models as production_models class Car(models.Model): manufacturer = models.ForeignKey(production_models.Manufacturer)
sumber
OK - Saya sudah menemukan jawabannya. Anda bisa melakukannya, Anda hanya perlu menggunakan
import
sintaks yang benar . Sintaks yang benar adalah:from prototype.cf.models import Movie
Kesalahan saya tidak menyebutkan
.models
bagian dari baris itu. D'oh!sumber