オプションの外部キーを持つ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()
モデルマネージャー以外にこれを行う方法を考えられる人はいますか?