1. ホーム
  2. python

[解決済み] manage.pyシェルを使わずにモデルにアクセスするDjangoアプリのためのPythonスクリプト

2023-05-31 08:11:16

質問

私は、いくつかのモデルオブジェクトを、私の django アプリケーションが使用するデータベースにインポートするスクリプトを書いています。過去に、私はこれを ./manage.py shell を実行し、次に import myscript . もっといい方法があると思うのですが。私は、HDのどこからでも python scriptname.py を使用して、そのスクリプトの最初の数行で、モデル オブジェクトにアクセスできるように必要なあらゆるインポート/その他の操作を行い、あたかもそれが manage.py shell .

これを実現するためには、スクリプトに何を追加すればよいのでしょうか。

EDITです。

Melug さんの回答に基づいて、質問の「私の HD のどこでも」という部分に対応するために Python のパスを動的に設定することを追加しています。

import sys
sys.path.append('c:\\my_projec_src_folder')
from myproject import settings
from django.core.management import setup_environ
setup_environ(settings)

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

まず、djangoの環境を構築する必要があります。

from your_project import settings
from django.core.management import setup_environ
setup_environ(settings)

最後にモデルをインポートすると、django と同じようにすべてがうまくいきます。