フィールドオプション:null、blank、default
カラムが受け付ける値を制御します
「フィールドオプション:null、blank、default」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Tune Each Field
Beyond the type, every field accepts options that control what values it will accept and how it behaves.
null Is About the Database
The null option decides whether the database column may store NULL. With null=True, the column can be empty in the database.
summary = models.TextField(null=True)blank Is About Forms
The blank option controls validation, not the database. With blank=True, forms allow the field to be left empty.
summary = models.TextField(blank=True)null and blank Are Different
Remember the split: null affects the database layer, while blank affects form validation. They solve two separate problems.
Avoid null on Text Fields
For string fields, skip null and just use blank=True. Django prefers an empty string over NULL to keep two empty states from existing.
note = models.CharField(max_length=100, blank=True)default Supplies a Value
The default option sets the value used when none is given, so new rows start with sensible data.
views = models.IntegerField(default=0)Callable Defaults
A default can be a callable like timezone.now. Pass the function itself, with no parentheses, so it runs for each new row.
created = models.DateTimeField(default=timezone.now)unique Prevents Duplicates
Add unique=True and the database refuses two rows with the same value, perfect for usernames or slugs. 🚫
username = models.CharField(max_length=50, unique=True)choices Limits the Options
The choices option restricts a field to a fixed set of values and renders a dropdown in forms and the admin.
STATUS = [("d", "Draft"), ("p", "Published")]
status = models.CharField(max_length=1, choices=STATUS)Options Stack Together
You can combine options freely on one field, like blank=True with default. Stack them to express exactly what you need.
tagline = models.CharField(max_length=120, blank=True, default="")Changes Need a Migration
Editing an option changes the schema. After tweaking null, default, or unique, run a migration so the database matches.
Quick Check
What is the real difference between null and blank?
Recap: Field Options
You now know that null is database-level, blank is form-level, default seeds values, and unique blocks duplicates. Tune fields with confidence! ✨
よくある質問
「フィールドオプション:null、blank、default」レッスンは無料ですか?
はい。「フィールドオプション:null、blank、default」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。
「フィールドオプション:null、blank、default」で何を学びますか?
カラムが受け付ける値を制御します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Django Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「フィールドオプション:null、blank、default」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDjango Academyレッスンでコードを書いて実行できますか?
はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- モデルクラスを定義する
- フィールド型を選ぶ
- フィールドオプション:null、blank、default
- strとMetaクラス