Menu
CoddyTech

Nilai Default dan Field Kosong

Termasuk bagian Model dan Admin dalam perjalanan Django di Coddy. Pelajaran 3 dari 23.

Simpan buku tanpa menyebutkan apakah kamu sudah membacanya, lalu database menolak: NOT NULL constraint failed. Setiap kolom wajib diisi sampai kamu menentukan sebaliknya, dengan salah satu dari tiga pilihan berikut:

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 adalah nilai yang didapat baris baru jika kamu tidak memberikan nilai apa pun. null=True memungkinkan kolom menyimpan NULL, yang dibaca Python sebagai None. blank=True memungkinkan formulir dan admin menerima kolom dalam keadaan kosong.

Angka atau tanggal yang mungkin tidak kamu ketahui memerlukan null=True dan blank=True. Teks hanya memerlukan blank=True: teks kosong disimpan sebagai "", sedangkan null akan memberinya dua jenis nilai kosong. TextField adalah teks tanpa batas panjang, untuk sesuatu yang panjang seperti ulasan.

challenge icon

Tantangan

Mudah

Jadikan bagian opsional dari Book sebagai opsional:

  • is_read dimulai dengan nilai False.
  • finished boleh kosong: buku yang belum selesai tidak memiliki tanggal.
  • Tambahkan field summary untuk teks panjang tanpa batas panjang; field ini boleh dibiarkan kosong, disimpan sebagai teks kosong, bukan NULL.

Tekan tombol “Jalankan”, lalu di tab Shell ketik Book.objects.create(title="Emma", author="Jane Austen", year=1815, price="7.50"): perintah ini mencetak <Book: Book object (1)>, bukan error.

Coba sendiri

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()

Semua pelajaran di Model dan Admin

Latihan sendiri: Playground Django