Varsayılanlar ve Boş Alanlar
Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 3 / 23.
Okuyup okumadığınızı belirtmeden bir kitabı kaydedin, veritabanı kaydı reddeder: NOT NULL constraint failed. Aksini belirtmediğiniz sürece her alan zorunludur; bunun için üç seçeneğiniz vardır:
has_subtitles = models.BooleanField(default=True)
rating = models.DecimalField(max_digits=3, decimal_places=1, null=True, blank=True)
tagline = models.CharField(max_length=200, blank=True)default, yeni bir satıra siz değer vermezseniz atanan değerdir. null=True, sütunun NULL saklamasına izin verir; Python bunu None olarak okur. blank=True, formların ve yönetim panelinin alanı boş kabul etmesine izin verir.
Bilmiyor olabileceğiniz bir sayı veya tarih için hem null=True hem de blank=True gerekir. Metin için yalnızca blank=True gerekir: boş metin "" olarak saklanır ve null kullanmak iki tür boş değer oluşturur. TextField, inceleme gibi uzun bir içerik için uzunluk sınırı olmayan metin alanıdır.
Görev
KolayBook öğesinin isteğe bağlı alanlarını isteğe bağlı hâle getirin:
is_readdeğeriFalseolarak başlar.finishedboş olabilir: bitirilmemiş bir kitabın tarihi yoktur.- Yeni bir alan olan
summary: uzun metin, uzunluk sınırı yok, boş olabilir; Django'da metin için kullanılan yöntem budur.
Run'a basın, ardından Shell sekmesinde Book.objects.create(title="Emma", author="Jane Austen", year=1815, price="7.50") yazın ve Data sekmesini açın.
Kendin dene
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
year = models.IntegerField()
price = models.DecimalField(max_digits=6, decimal_places=2)
is_read = models.BooleanField()
finished = models.DateField()
Modeller ve Yönetim Paneli bölümündeki tüm dersler
1İlk Modeliniz
İlk ModelinizAlan TürleriKendi başına pratik yap: Django playground