私はいくつかの静的メソッドを持つDjangoモデルを持っています。私はアプリケーションの外からメソッドを呼びたい(cronjob)。外からモデルのメソッドを呼び出すDjango
私が持っているモデル:
class Job(models.Job):
#Irrelevant information
@staticmethod
def methodIwantToCall():
#statements
私はcronジョブ用に使用しています次のPythonファイルを持っている:まず
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from myapp.models import Job
Job.methodIwantToCall()
に、私はDJANGO_SETTINGS_MODULE not being set
に関するエラーを持っていたし、しかし、今私は次のエラーがあることを修正しました:No module named myapp.utils
私は私がするべきではないことをやっているような気がします。では、静的メソッドを呼び出す方法はどのように呼びますか?
EDIT:私がDjangoの外からインポートしているときに、パスが混乱しているようです。たとえば、モデルファイルにインポートを持っていますが、それは動作していても、メッセージImportError: No module named myapp.utils
でインポートに失敗したcronファイルを呼び出すときです。
from django.core.management import setup_environ
import settings
setup_environ(settings)
提案していただきありがとうございます、私はそれを行うために十分な知識を持っているかどうかを見ていきます。 – Ali
私は[django-extensions](https://github.com/django-extensions/django-extensions)を使ってしまいました。 – Ali