Django Academy · Lekcja

Opcje pól: null, blank, default

Kontrolować wartości akceptowane przez kolumnę

Lekcja 3 z 413 kroki

Opcje pól: null, blank, default to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.

Dostosuj każde pole

Oprócz typu każde pole przyjmuje opcje, które określają, jakie wartości zaakceptuje i jak będzie się zachowywać.

null dotyczy bazy danych

Opcja null określa, czy kolumna w bazie danych może przechowywać NULL. Przy null=True kolumna może być pusta w bazie danych.

summary = models.TextField(null=True)

blank dotyczy formularzy

Opcja blank steruje walidacją, a nie bazą danych. Przy blank=True formularze pozwalają pozostawić pole puste.

summary = models.TextField(blank=True)

null i blank to różne opcje

Należy pamiętać o tym rozróżnieniu: null wpływa na warstwę bazy danych, a blank na walidację formularzy. Rozwiązują one dwa odrębne problemy.

Unikaj null w polach tekstowych

W przypadku pól tekstowych należy pominąć null i użyć po prostu blank=True. Django preferuje pusty ciąg znaków zamiast NULL, aby nie dopuszczać do istnienia dwóch sposobów oznaczania pustej wartości.

note = models.CharField(max_length=100, blank=True)

default dostarcza wartość

Opcja default ustawia wartość używaną, gdy nie zostanie podana żadna inna, dzięki czemu nowe wiersze od początku zawierają sensowne dane.

views = models.IntegerField(default=0)

Wartości domyślne wywoływane automatycznie

default może przyjmować funkcję, taką jak timezone.now. Należy przekazać samą funkcję, bez nawiasów, aby była wywoływana dla każdego nowego wiersza.

created = models.DateTimeField(default=timezone.now)

unique zapobiega duplikatom

Dodanie unique=True sprawia, że baza danych odrzuci dwa wiersze z tą samą wartością — idealne rozwiązanie dla nazw użytkowników lub slugów. 🚫

username = models.CharField(max_length=50, unique=True)

choices ogranicza dostępne opcje

Opcja choices ogranicza pole do ustalonego zestawu wartości i tworzy listę rozwijaną w formularzach oraz panelu administracyjnym.

STATUS = [("d", "Draft"), ("p", "Published")]
status = models.CharField(max_length=1, choices=STATUS)

Opcje można łączyć

Opcje można dowolnie łączyć w jednym polu, na przykład blank=True z default. W ten sposób można dokładnie wyrazić wymagane zasady.

tagline = models.CharField(max_length=120, blank=True, default="")

Zmiany wymagają migracji

Edycja opcji zmienia schemat. Po zmianie null, default lub unique należy uruchomić migrację, aby baza danych odpowiadała modelowi.

Szybkie sprawdzenie

Jaka jest rzeczywista różnica między null a blank?

Podsumowanie: opcje pól

Wiedzą już Państwo, że null działa na poziomie bazy danych, blank na poziomie formularzy, default ustawia wartości początkowe, a unique blokuje duplikaty. Teraz można pewnie dostosowywać pola! ✨

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Opcje pól: null, blank, default” jest bezpłatna?

Tak — pełny tekst „Opcje pól: null, blank, default” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Opcje pól: null, blank, default”?

Kontrolować wartości akceptowane przez kolumnę Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Django Academy?

Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Opcje pól: null, blank, default”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?

Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Definiowanie klasy modelu
  2. Wybór typów pól
  3. Opcje pól: null, blank, default
  4. str i klasa Meta
← Powrót do Django Academy