Django」で説明しきれなかった部分の加筆・補足をしています。本を読んでいない方にも読める記事になっていますので、ご安心を。Django」(紙の本)はおかげさまで完売いたしました。出版することになりました。電子版と紙の本を予定しています。リリースされたのが2008年9月なので、実に9年3ヶ月ぶりのメジャーバージョンアップとなりました。それから半年ほど経ちましたが、現場ではまだ1系と2系が混在している、いわば過渡期の状況ではないでしょうか(あくまで私の肌感覚ですが)。理由は3つほど考えられます。Support」の略で、開発コミュニティからセキュリティパッチが長期間提供される特別なバージョンのことを指します。バージョンがリリースされていません。10ヶ月ほど先になっているのが、2系へのバージョンアップに踏み切れない理由の一つに挙げられます。「2.2」のロードマップも細かく決まっていて(多少ずれるようですが)、2019年の4月にリリースされることが予定されています。1系で最後のマイナーバージョンとなります。本記事の執筆時点で「1.11.14」となっています。1系がまだまだ主役の場合が多いのではないでしょうか。2系へ移行しなければ!」という切迫感はまだあまり感じられません。移行を阻害している大きな要因になっているのではないかと考えています。2系にバージョンアップできない事情もあるでしょう。対応していないということも考えられます。バージョン別の利用状況を見てみましょう。各バージョンの利用状況は以下の通りでした。%にとどまっているという結果は要注目です。私の率直な感想は「意外と少ないなぁ」でした。半分まではいかないとしても、もう少し多いのかなと予想していました。アンケート自体は何ヶ月か前から収集していたはずなので、現時点での数値とは多少の開きがあるとは思いますが。1系の最終バージョンである「1.11」から「2.0」への変更点が記載されています。「on_delete」オプションが必須にが挙げられるでしょうか。後で詳しく説明します。それ以外の細かな変更点のうち個人的に気になったところを以下にズラズラと挙げましたが、ぶっちゃけ、そこまで大きな変更点はありません。committed」に。なったここに挙げたものの中には検証していないものも多々ありますので、誤訳や誤解がありましたらご指摘いただけるとありがたいです。大きな変更点として挙げた3点について、詳しく説明していきます。2系のサポートが打ち切られました。以降が最低限必要になります。バージョンをまとめたものが以下の表になります。使っているプロジェクトは2019年末までには3系への移行を済ませる必要があります。サポートをバッサリ切ったことはかなり嬉しいのですが、対応に追われるプロジェクトも今後出てきて大変そうだなという印象です。name='shop_detail'),と簡潔に書くことができるようになりました。追加されたのでそれを使って書き直してもよいと思います。「on_delete」フィールドオプションが必須になりました。Django」の中でもしっかり説明してあります。関数のサポートについても少し説明を加えておきます。区切られた集合)に対して集計処理をするための機能です。関数を使う)が一番理解しやすいでしょうか。関数には「OVER句」が必要になります。以降で導入されています。Window関数をサポートしていますが、データベースの種類と関数によってはサポートが異なる場合もあるとのことです。トランザクション分離レベルについて調べたことを書いておきます。committed」の方がよい(バージョン管理の範囲が狭くなるため)とされています。変わりません(変わるという噂もあるようですが)。committed」がデフォルトとなっています。大ジャンプはコストが掛かるため、普段から出来るかぎり最新バージョンに追随しておく依存しているパッケージ・言語のサポートの問題などが考えられます。*4しかしながら、これらのメリットが無いのであれば、現在使っているパッケージを無理にバージョンアップさせなくてもよいでしょう。バージョンアップしなくても、例えば、特定箇所のバグ修正であれば手動でバックポートすることで対応できることもあります。最後に最後に一番大事な話。LTS」がまだリリースしていないため様子見が必要ということを踏まえると、もう買うしかないという気持ちになってきたはずですよね。仕上がっているはずです。一度挫折したことがある方に絶対オススメの一冊となっています。過去記事で読みどころの解説や読者の方々の評価を紹介していますので、気になる方はこちらも合わせてご覧ください。bytestrings編)」の記事が参考になるはず!*2:他人事ではないのが恐ろしいところ。