... タベース扱うことを前提としています。複数のデータベースを使いたいなら、いくつかの追加ステップを踏む必要があります。 参考 複数のデータベースを使用したテストに付いての情報は、 マルチ ... データベースのサポート を参照してください。 データベースを定義する ¶ Django でデータベースを使う最初のステップは、利用するデータベースサーバーを Django に教えることです。これは、 D ... ATABASES の設定で行います。この設定は、データベースへのエイリアスです。Django を通してデータベースを参照するためのデータベースエイリアスを、辞書にマッピングします。この辞書の設 ... ... タベース扱うことを前提としています。複数のデータベースを使いたいなら、いくつかの追加ステップを踏む必要があります。 参考 複数のデータベースを使用したテストに付いての情報は、 マルチ ... データベースのサポート を参照してください。 データベースを定義する ¶ Django でデータベースを使う最初のステップは、利用するデータベースサーバーを Django に教えることです。これは、 D ... ATABASES の設定で行います。この設定は、データベースへのエイリアスです。Django を通してデータベースを参照するためのデータベースエイリアスを、辞書にマッピングします。この辞書の設 ... ... ースバックエンド も多数あります。 Django はすべてのデータベースで可能な限り多くの機能をサポートするように努めています。しかし、すべてのデータベースバックエンドが似ているわけではないため、 ... を置換することを意図したものではありません。 一般的なメモ ¶ 持続的 (persistent) な接続 ¶ 持続的な接続は HTTP リクエストごとにデータベースへの接続を再確立するオーバーヘッドを回避します。持続的な接続は接続の最大寿命を定義する CONN_MAX_AGE パラメータによって制御さ ... れます。このパラメータはデータベースごとに個別に設定できます。 デフォルト値は 0 で、各リクエストの終了時にデータベース接続をクローズするという従来の動作を維持し ... ... ースバックエンド も多数あります。 Django はすべてのデータベースで可能な限り多くの機能をサポートするように努めています。しかし、すべてのデータベースバックエンドが似ているわけではないため、 ... を置換することを意図したものではありません。 一般的なメモ ¶ 持続的 (persistent) な接続 ¶ 持続的な接続は HTTP リクエストごとにデータベースへの接続を再確立するオーバーヘッドを回避します。持続的な接続は接続の最大寿命を定義する CONN_MAX_AGE パラメータによって制御さ ... れます。このパラメータはデータベースごとに個別に設定できます。 デフォルト値は 0 で、各リクエストの終了時にデータベース接続をクローズするという従来の動作を維持し ... ... ルドオプション ¶ 以下の引数は全てのフィールドタイプで有効です。全て省略可能です。 null ¶ Field. null ¶ True の場合、Django はデータベース内に NULL として空の値を保持します。デフォルトは False です。 CharField や TextField などの文字列ベースのフィールドでは、 nu ... のフィールドでもそれ以外でも、フォーム内で空の値を許可したいときは blank=True を指定する必要があります。 null パラメーターはデータベースストレージにだけ影響を与えるからです(詳細は blank を参照)。 注釈 Oracleのデータベースバックエンドを使っているときには、この ... 、フィールドはブランクになることが許容されます。デフォルトは False です。 null とは異なる点に注意してください。 null が純粋にデータベースに関連する一方で、 blank はバリデーションに関連します。フィールドが blank=True を持つ場合、フォームバリデーションは空の値のエ ... ... ルドオプション ¶ 以下の引数は全てのフィールドタイプで有効です。全て省略可能です。 null ¶ Field. null ¶ True の場合、Django はデータベース内に NULL として空の値を保持します。デフォルトは False です。 CharField や TextField などの文字列ベースのフィールドでは、 nu ... のフィールドでもそれ以外でも、フォーム内で空の値を許可したいときは blank=True を指定する必要があります。 null パラメーターはデータベースストレージにだけ影響を与えるからです(詳細は blank を参照)。 注釈 Oracleのデータベースバックエンドを使っているときには、この ... 、フィールドはブランクになることが許容されます。デフォルトは False です。 null とは異なる点に注意してください。 null が純粋にデータベースに関連する一方で、 blank はバリデーションに関連します。フィールドが blank=True を持つ場合、フォームバリデーションは空の値のエ ... ... て再利用可能なアプリケーションをテストする も参照してください。 警告 作成したテストが、データの新規作成やモデルのクエリなどのデータベースアクセスを必要とするときは、 unittest.TestCase ではなく、 django.test.TestCase のサブクラスを作るようにしてください。 unitte ... st.TestCase を使えば、各テストでデータベースのトランザクションとフラッシュに必要な実行コストを避けることができます。しかし、データベースと相互作用するテストの場合、テス ... トランナーは失敗したテストの詳細を出力し、実行したテストの数と、エラーおよび失敗したテストの数をレポートし、通常通りにテストデータベースを破棄します。そのため、 Ctrl-C を押すのは、たとえば、 --failfast オプションを付けるのを忘れて、一部のテストが予期せず失敗し ... ... 、外部 URL へのリダイレクトを辿ったときにテストクライアントが役立つエラーメッセージを表示しないようになります。 テストと複数データベース ¶ プライマリ/レプリカ構成のテスト ¶ プライマリ/レプリカ(データベースによってはマスタ/スレーブとも呼ばれる)レプリケーショ ... ンを使用した複数データベース構成をテストする場合、テスト用データベースを作成するこの方法には問題があります。テスト用データベースを作成すると、レプリケー ... ションが行われなくなり、その結果、プライマリで作成されたデータがレプリカで見られなくなります。 これを補うために、 Django ではデータベースを テストミラー と定義できます。以下の (単純化した) データベース設定例を見てください: DATABASES = { "default" : { "ENGINE" : ... ... 、外部 URL へのリダイレクトを辿ったときにテストクライアントが役立つエラーメッセージを表示しないようになります。 テストと複数データベース ¶ プライマリ/レプリカ構成のテスト ¶ プライマリ/レプリカ(データベースによってはマスタ/スレーブとも呼ばれる)レプリケーショ ... ンを使用した複数データベース構成をテストする場合、テスト用データベースを作成するこの方法には問題があります。テスト用データベースを作成すると、レプリケー ... ションが行われなくなり、その結果、プライマリで作成されたデータがレプリカで見られなくなります。 これを補うために、 Django ではデータベースを テストミラー と定義できます。以下の (単純化した) データベース設定例を見てください: DATABASES = { "default" : { "ENGINE" : ... ... て再利用可能なアプリケーションをテストする も参照してください。 警告 作成したテストが、データの新規作成やモデルのクエリなどのデータベースアクセスを必要とするときは、 unittest.TestCase ではなく、 django.test.TestCase のサブクラスを作るようにしてください。 unitte ... st.TestCase を使えば、各テストでデータベースのトランザクションとフラッシュに必要な実行コストを避けることができます。しかし、データベースと相互作用するテストの場合、テス ... トランナーは失敗したテストの詳細を出力し、実行したテストの数と、エラーおよび失敗したテストの数をレポートし、通常通りにテストデータベースを破棄します。そのため、 Ctrl-C を押すのは、たとえば、 --failfast オプションを付けるのを忘れて、一部のテストが予期せず失敗し ... 2026年10月08日