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