kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

Djangoのドキュメント修正について調べてみる (3)

っていうか日本語解説がありましたよ

documentation / 翻訳への参加方法 | djangoproject.jp

そりゃあるよな
それほど詳しくは書いてなくて、昨日やってみたことでだいたい合ってるっぽい
昨日の今日でコメントに反応がある気はしてなかったけどやっぱりないし
もう書いてしまおう

原文

Why do we use a helper function get_object_or_404() instead of automatically catching the ObjectDoesNotExist exceptions at a higher level, or having the model API raise Http404 instead of ObjectDoesNotExist?

元の訳

なぜ ObjectDoesNotExist 例外を高水準で自動的にキャッチせず、ヘルパー関数 get_object_or_404() を使うのでしょうか、また、なぜモデル API に ObjectDoesNotExist ではなく、 Http404 を送出させるのでしょうか?

モデルAPIはHttp404ではなくてObjectDoesNotExistを送るので、これはおかしいはず

最小限の修正だとこうかな

ObjectDoesNotExist例外を上位のレベルで自動的にキャッチしたり、モデルAPIからObjectDoesNotExistの代わりにHttp404 を送出したりするのではなく、ヘルパー関数 get_object_or_404() を使うのはなぜでしょうか?

ついでに「高水準で」→「上位のレベルで」ってしておいた
原文は「at a higer level」
素直に訳したほうが感じが出る気がしている
「高水準」だと、もっとうまくやるみたいな感じも含むけど
ここでは単に呼び出し元のことを言ってると思うので

あと、文が長いからなんとかまん中でひとくぎりつけたいんだけど
若干大手術気味な直し方しか思いつかない

なぜヘルパー関数 get_object_or_404() を使うのでしょうか? ObjectDoesNotExist例外を高水準で自動的にキャッチしたり、モデルAPIからObjectDoesNotExistの代わりにHttp404 を送出したりするのではいけないのでしょうか?

とか
はじめから日本語で考えてればこんな感じじゃないかなあ
読みやすくなったと思うし意味は正しいはずだし
前後のつながりもおかしくない
これでいくか

しかしやはりビビリなので「提案として保存」にしておく
反応あるかな
とりあえず元の勉強に戻ろう