ジオコード結果のキャッシュを処理するコードが必要ですが、どこに配置すればよいかわかりません。特定の .py ファイル? カスタムマネージャー?モデルメソッド?意見?
コードの一部は、基本的にリクエストを開始し、モデルで結果を操作/保存し、データをキャッシュします。
多くのもの (リクエスト、モデル、キャッシング) を処理するこのコードはどこに配置すればよいですか?
ジオコード結果のキャッシュを処理するコードが必要ですが、どこに配置すればよいかわかりません。特定の .py ファイル? カスタムマネージャー?モデルメソッド?意見?
コードの一部は、基本的にリクエストを開始し、モデルで結果を操作/保存し、データをキャッシュします。
多くのもの (リクエスト、モデル、キャッシング) を処理するこのコードはどこに配置すればよいですか?
それらはすべて地理に関連しているため、それを独自のモジュール (つまりgeo.py
) に配置し、その中にヘルパー メソッドとクラスを作成して、インポートして他のモジュールで使用できるようにします。たとえば、必要な機能が何であるかを推測しているだけです。おそらく次のようなものですgeo.py
。
class GeoConnection(object):
def __init__(self, whatever, init, vars, here):
# initialize connection
def get_country_code(self, some_var):
# fire off request and return value
class GeoCache(object):
def store(self, key, value):
# code
def retrieve(self, key):
# code
次に、他のモジュールで次のようなことができます。
from your_app.geo import GeoConnection
gc = GeoConnection(whatever, init, vars, here)
some_model.country_code = gc.get_country_code(some_var)
some_model.save()