.. _releases-1.1-alpha-1: ================================ 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)に二つほど大きな機能が 追加されました。 アグリゲートのサポート ~~~~~~~~~~~~~~~~~~~~~~ .. currentmodule:: django.db.models SQL のアグリゲート( aggregate )、( ``COUNT()``, ``MAX()``, ``MIN()`` など) が Django の ORM で使えるようになりました。直接アグリゲートの結果を 返すか、それとも アグリゲートしたクエリの結果と :class:`QuerySet` の中のオブジェクトを添えることもできます。 この機能は新しい :meth:`QuerySet.aggregate()`` で使うか、 :meth:`QuerySet.annotate()`` メソッドで使えます。詳しくは、 :doc:`the ORM アグリゲーションのドキュメント ` を見てください。 クエリの表現 ~~~~~~~~~~~~ クエリは別のフィールドを参照することも、関係するモデルのフィールドへ 関係性をまたいで参照することも出来ます。この機能は新しい :class:`F` オブジェクトで実装されています、詳しくは、 :ref:`F 表記のドキュメント ` を 見てください。 パフォーマンスの改善 -------------------- .. currentmodule:: django.test Django の :doc:`テストフレームワーク` を使って書かれた テストは、劇的に早くなりました。(沢山のケースで、 10倍ほど早くなっています) これは、トランザクションベースドテストの解説のなかで達成されています。 :class:`django.test.TestCase` を使う時に、テストはトランザクションの中で 走っています、トランザクションはテスト終了時にロールバックされます、 データベースのフラッシュとリポピュレートする代わりにこれを行います。 この結果は莫大なスピードアップをほとんどの種類のユニットテストにもたらします。 :class:`TestCase` と :class:`TransactionTestCase` のドキュメントを見てくださ い。詳しい解説とデータベースサポートについての重要な情報が載っています。 その他の進歩 ------------ Django 1.0 からの、その他の新しい機能と変更は: * :doc:`CSRF プロテクションミドルウェア ` は二つのクラスに 分割されました。 ``CsrfViewMiddleware`` は入ってくるリクエストをチェック します。 ``CsrfResponseMiddleware`` プロセスは返すレスポンスを扱います。 ``CsrfMiddleware`` クラス (上記両方機能を果たします)は、 後方互換性のために残しています。しかし、分割したクラスを使うことが推奨 されています。それは、 CSRF プロセスが何時、どこで生じるかをきめ細やかに コントロールすることが出来るからです。 * :func:`~django.core.urlresolvers.reverse` とコードを使う(すなわち、 ``{% url %}`` テンプレートタグのことです)と、今は Django の管理サイト の URL と一緒に動きます、管理 URL は ``include(admin.site.urls)`` に よって提供されています(アドミンへのリクエストを送るための ``admin.site.root`` ビューはまだ動作します、しかしアドミンの URL がこの方法で構成されていると " reverse 関数で引き戻せません") * Django の URLConf モジュールは、``include()`` 関数はモジュール名に加えて、 URL パターンのシークエンスも受け付けられます(それは、 ``patterns()`` で生成 されます)  * Django フォームのインスタンス( :doc:`フォームの概要 ` を見てください。二つのメソッド ``hidden_fields()`` と、 ``visible_fields()`` が追加されました、これらは非表示のリストが返され、すなわち ```` です、加えてフォームの非表示でないフィールドも 返します。 * ``redirect_to`` 汎用ビュー( :doc:`汎用ビューのドキュメント ` を見てください)は、 追加としてキーワード引数 ``permanent`` を受け取れるようになりました。 もし、 ``permanent`` が ``True`` ならばビューは HTTP 恒久的な転送 をします(ステータスコードは 301です)。もし、 ``False`` ならば、 ビューは HTTP 一時的な転送をします。(ステータスコード は302 です) * 新しいデータベースの照合の種類として ``week_day`` が ``DateField`` と、 ``DateTimeField`` に加えられました。この参照のタイプは数字 1(日曜日)から7(土曜日)までを受け取り、フィールドの値がマッチする 週の日付がオブジェクトを返します。 :ref:`照合種類のフルリスト ` に詳細があります。 * Django のテンプレート言語の ``{% for %}`` タグはオプションとして、 ``{% empty %}`` 句を扱えるようになりました。これは、 ``{% for %}`` のループが空っぽになった時に表示されるものです。 :doc:`組み込みのテンプレートタグのリスト` に、これの例が載っています。 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 のチケットトラッカーは中央の場所でオープンになっているイシュー を見つけられます。 * http://code.djangoproject.com/timeline あなたが Django を使っていて生じた問題が、存在するチケットによって解決 するものでなさそうだったら、新しいチケットをオープンしてください。 加えて、 Django の開発ディスカッションも 1.1 のリリースへ向けたプロセスの 一部で、 Django のデベロッパーメーリングリストにて日々行われています。 * http://groups.google.com/group/django-developers ... そして、 ``irc.freenode.net`` の ``#django-dev`` IRCチャンネルで Django の開発を助けたいと思ったら、ぜひディスカッションに加わってくだ さい。 Django のオンラインドキュメントも、どうやって Django に貢献すればよいかを 指し示してくれます。 * :doc:`Django へどうやって貢献するか ` どのレベルで貢献するか、開発版のコードでも、ドキュメントを書くのでもチケット を報告するのでもバグの修正のためにテストをするのでも、いつでも Django は あなたたちを歓迎し、そしてありがたく思っています。 Django 1.1 の開発スプリントは PyCon US 2009 でも行われます、スプリントの 日は(3月30日から4月2日)誰でも加われます。また、 IRC チャンネルかメーリング リストでヴァーチャルに参加することもできます。