Opcje pól: null, blank, default
Kontrolować wartości akceptowane przez kolumnę
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! ✨
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
- Definiowanie klasy modelu
- Wybór typów pól
- Opcje pól: null, blank, default
- str i klasa Meta