[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
質問
djangoでデータベースフィールドを追加する場合、一般的にはこう書きます。
models.CharField(max_length=100, null=True, blank=True)
と同じことを行います。
ForeignKey
,
DecimalField
などです。を持つことの基本的な違いは何ですか?
-
null=True
のみ -
blank=True
のみ -
null=True
,blank=True
に関して、異なる(
CharField
,
ForeignKey
,
ManyToManyField
,
DateTimeField
) のフィールドを使用します。1/2/3を使用するメリット/デメリットは何ですか?
どのように解決するのですか?
null=True
セット
NULL
(対
NOT NULL
をDB内のカラムに追加してください。のような Django のフィールドタイプに対する空白の値。
DateTimeField
または
ForeignKey
として格納されます。
NULL
をDBに登録します。
blank
は、そのフィールドがフォームで必須とされるかどうかを決定します。これには、管理画面とカスタムフォームが含まれます。もし
blank=True
の場合、そのフィールドは必須ではありません。
False
は空白にできません。
この2つの組み合わせは非常に頻繁に使用されます。なぜなら、フォームのフィールドを空白にする場合、データベースで
NULL
の値を指定します。ただし、例外として
CharField
と
TextField
であり、Django では
決して
として保存されます。
NULL
. 空白の値は、空文字列としてDBに格納されます(
''
).
いくつかの例を挙げます。
models.DateTimeField(blank=True) # raises IntegrityError if blank
models.DateTimeField(null=True) # NULL allowed, but must be filled out in a form
明らかに、この2つのオプションは論理的な意味を持ちません。
null=True, blank=False
あるフィールドをフォームでは常に必須とし、シェルのようなものでオブジェクトを扱うときはオプションとしたい場合)
models.CharField(blank=True) # No problem, blank is stored as ''
models.CharField(null=True) # NULL allowed, but will never be set as NULL
CHAR
と
TEXT
として保存されることはありません。
NULL
を使用しているため、Djangoでは
null=True
は不要です。しかし、手動でこれらのフィールドのいずれかを
None
として強制的に設定します。
NULL
. それが必要なシナリオがある場合は、やはり
null=True
.
関連
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] リストとタプルの違いは何ですか?
-
[解決済み] django の OneToOneField と ForeignKey の違いは何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。