1. ホーム
  2. django

[解決済み] Djangoです。文字列からモデルを取得する?

2022-04-24 21:10:58

質問

Djangoでは、次のようなリレーションシップを指定することができます。

author = ForeignKey('Person')

そして、内部で文字列 "Person" をモデルに変換する必要があります。 Person .

これを行う関数はどこにあるのでしょうか?使いたいのですが、見当たりません。

どのように解決するのですか?

<ブロッククオート

Djangoの場合 1.11 から 4.0 (少なくとも)それは AppConfig.get_model(model_name, require_ready=True)

<ブロッククオート

Django 1.9では、このメソッドは django.apps.AppConfig.get_model(model_name) .

-- ダニヒップ

<ブロッククオート

Django 1.7では django.db.models.loading は非推奨 (1.9 で削除予定) で、新しいアプリケーションローディングシステムが採用されています。

-- スコット・ウッドオール


見つけました。ここに定義されています。

from django.db.models.loading import get_model

として定義される。

def get_model(self, app_label, model_name, seed_cache=True):