オプションの外部キーを持つDjangoモデルがあります。テーブルに異なるデフォルトオプションが含まれるようにこのように設定しましたが、外部キーservice_types
を指定することでこのオプションをオーバーライドできます。controller
私の見解では、次のようなコードがたくさんあります。
try:
modeService = RegressionServices.objects.get(controller=controller, service_type=SERVICE_TYPE_CONTROLLER_MODE)
except RegressionServices.DoesNotExist:
modeService = RegressionServices.objects.get(service_type=SERVICE_TYPE_CONTROLLER_MODE)
これを1回の呼び出しに減らしたいので、DjangoモデルManager
がその方法になると思います。基本的に、コントローラーをチェックインし、**kwargs
存在する場合は基本的に上記のコードを実行します。私はドキュメントを調べていますが、get_query_set
メソッドが通常オーバーライドされていることがわかりました。get()
メソッドをオーバーライドしても大丈夫ですか?モデルマネージャーメソッドRegressionServices
でモデルにアクセスすることもできますか?get()
モデルマネージャー以外にこれを行う方法を考えられる人はいますか?