Menu
CoddyTech

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.

challenge icon

Görev

Kolay

Book öğesinin isteğe bağlı alanlarını isteğe bağlı hâle getirin:

  • is_read değeri False olarak başlar.
  • finished boş 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

Kendi başına pratik yap: Django playground