Django 1.1 alpha 1 release notes

February 23, 2009

ようこそ Django 1.1 alpha 1へ!

これが Django 1.1 の2009年4月にする通常のリリースに追いつくまでの開発版です。 このリリースが基本的にターゲットとしているのは、新しい機能を試したり、 1.1 のリリース前にDjangoのコードベースでバグを見つけたり解消することに興味を 抱いている人たちです。

そのため、このリリースは 正式なサポートが含まれていないため、そのような 使い方には向きません

Django 1.1 アルファ 1 で新しくなったこと

ORM の改善

Django のオブジェクトリレーショナルマッパー(ORM)に二つほど大きな機能が 追加されました。

アグリゲートのサポート

SQL のアグリゲート( aggregate )、( COUNT(), MAX(), MIN() など) が Django の ORM で使えるようになりました。直接アグリゲートの結果を 返すか、それとも アグリゲートしたクエリの結果と QuerySet の中のオブジェクトを添えることもできます。

この機能は新しい QuerySet.aggregate()`() で使うか、 QuerySet.annotate()`() メソッドで使えます。詳しくは、 the ORM アグリゲーションのドキュメント を見てください。

クエリの表現

クエリは別のフィールドを参照することも、関係するモデルのフィールドへ 関係性をまたいで参照することも出来ます。この機能は新しい F オブジェクトで実装されています、詳しくは、 F 表記のドキュメント を 見てください。

パフォーマンスの改善

Django の テストフレームワーク を使って書かれた テストは、劇的に早くなりました。(沢山のケースで、 10倍ほど早くなっています)

これは、トランザクションベースドテストの解説のなかで達成されています。 django.test.TestCase を使う時に、テストはトランザクションの中で 走っています、トランザクションはテスト終了時にロールバックされます、 データベースのフラッシュとリポピュレートする代わりにこれを行います。 この結果は莫大なスピードアップをほとんどの種類のユニットテストにもたらします。 TestCaseTransactionTestCase のドキュメントを見てくださ い。詳しい解説とデータベースサポートについての重要な情報が載っています。

その他の進歩

Django 1.0 からの、その他の新しい機能と変更は:

  • CSRF プロテクションミドルウェア は二つのクラスに 分割されました。 CsrfViewMiddleware は入ってくるリクエストをチェック します。 CsrfResponseMiddleware プロセスは返すレスポンスを扱います。 CsrfMiddleware クラス (上記両方機能を果たします)は、 後方互換性のために残しています。しかし、分割したクラスを使うことが推奨 されています。それは、 CSRF プロセスが何時、どこで生じるかをきめ細やかに コントロールすることが出来るからです。
  • reverse() とコードを使う(すなわち、 {% url %} テンプレートタグのことです)と、今は Django の管理サイト の URL と一緒に動きます、管理 URL は include(admin.site.urls) に よって提供されています(アドミンへのリクエストを送るための admin.site.root ビューはまだ動作します、しかしアドミンの URL がこの方法で構成されていると ” reverse 関数で引き戻せません”)
  • Django の URLConf モジュールは、include() 関数はモジュール名に加えて、 URL パターンのシークエンスも受け付けられます(それは、 patterns() で生成 されます)
  • Django フォームのインスタンス( フォームの概要 を見てください。二つのメソッド hidden_fields() と、 visible_fields() が追加されました、これらは非表示のリストが返され、すなわち <input type="hidden"> です、加えてフォームの非表示でないフィールドも 返します。
  • redirect_to 汎用ビュー( 汎用ビューのドキュメント を見てください)は、 追加としてキーワード引数 permanent を受け取れるようになりました。 もし、 permanentTrue ならばビューは HTTP 恒久的な転送 をします(ステータスコードは 301です)。もし、 False ならば、 ビューは HTTP 一時的な転送をします。(ステータスコード は302 です)
  • 新しいデータベースの照合の種類として week_dayDateField と、 DateTimeField に加えられました。この参照のタイプは数字 1(日曜日)から7(土曜日)までを受け取り、フィールドの値がマッチする 週の日付がオブジェクトを返します。 照合種類のフルリスト に詳細があります。
  • Django のテンプレート言語の {% for %} タグはオプションとして、 {% empty %} 句を扱えるようになりました。これは、 {% for %} のループが空っぽになった時に表示されるものです。 組み込みのテンプレートタグのリスト に、これの例が載っています。

Django 1.1 のロードマップ

Django 1.1 の最後のアップデートを迎える前に、幾つか、他の開発版のリリースが 利用できます。最新スケジュールはこのようになっています。

  • 2009年 3月20日 に、 Django 1.1 のベータ1 が “機能が固まり” ます。: 何も新しい機能がこの時点から追加されません、新しい機能は Django 1.2 に延期されます。
  • 2009年 4月2日 には、 Django 1.1 リリースの候補日でっす。この時点で、 全ての翻訳する文字列がマークされ、最終リリースに先立って翻訳がなされる ことを決定します。
  • 2009年4月13日 には、 Django 1.1 の最終版です。

必要ならば、アルファ版もこれに追加されます、ベータやリリース候補日の決定は 1,1 の最終リリースより先に発表します。

Django の助けになるには何ができるか

1.1 が高い質のものとして提供されるために、私たちは助けが必要です。 だけれど、これはアルファ版なので 正式なものとしての使用は意図して いません Django の開発チームを助けるためには、アルファ版を安全な テスト環境で使うことと、バグや発見した問題をレポートすることです。 Django のチケットトラッカーは中央の場所でオープンになっているイシュー を見つけられます。

あなたが Django を使っていて生じた問題が、存在するチケットによって解決 するものでなさそうだったら、新しいチケットをオープンしてください。

加えて、 Django の開発ディスカッションも 1.1 のリリースへ向けたプロセスの 一部で、 Django のデベロッパーメーリングリストにて日々行われています。

... そして、 irc.freenode.net#django-dev IRCチャンネルで Django の開発を助けたいと思ったら、ぜひディスカッションに加わってくだ さい。

Django のオンラインドキュメントも、どうやって Django に貢献すればよいかを 指し示してくれます。

  • Django へどうやって貢献するか

どのレベルで貢献するか、開発版のコードでも、ドキュメントを書くのでもチケット を報告するのでもバグの修正のためにテストをするのでも、いつでも Django は あなたたちを歓迎し、そしてありがたく思っています。

Django 1.1 の開発スプリントは PyCon US 2009 でも行われます、スプリントの 日は(3月30日から4月2日)誰でも加われます。また、 IRC チャンネルかメーリング リストでヴァーチャルに参加することもできます。