Djangoで別アプリのモデルからimportしたい
Djangoを久しぶりにやった時に、一瞬どうやるか迷ってしまったため備忘録として記載しておきます。
結論から言うと、Djangoプロジェクトを起点としてimportするので、以下のようにいつも通りimportしてやれば問題ないのですね。
importの形式
# 個別にimportする場合 from アプリ名.models import クラス名 # まとめてimportする場合 from アプリ名.models import *
models.pyで別アプリのモデルをimportしてリレーションを張る時
Djangoでリレーションを張る時
カラム名 = models.ForeignKey(モデルのクラス, on_delete=models.CASCADE, verbose_name='説明')
実際の設定例
先頭で、別アプリのモデルのクラスであるUserをimportしています。
投稿をしたユーザを判別するためにuser_idカラムを追加し、そこで先程importしたUserモデルを渡しています。
models.py
# 別アプリのUserモデルをimport from authenticate.models import User # ブログの投稿のモデルの例 class Post(models.Model): """投稿""" . . # user_idカラムを追加 user_id = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='投稿ユーザ')
コメント