Cara Buku Ditampilkan
Termasuk bagian Model dan Admin dalam perjalanan Django di Coddy. Pelajaran 5 dari 23.
Tekan Run lalu ketik Book.objects.all() di tab Shell: setiap buku terbaca sebagai <Book: Book object (1)>, dan kamu tidak bisa membedakan buku-buku itu. Python mengubah object menjadi teks dengan method __str__, dan method yang didapat setiap model hanya menampilkan id. Model dapat mendefinisikannya sendiri. Movie di situs film mungkin menampilkan judul dan tahun:
class Movie(models.Model):
...
def __str__(self):
return f"{self.title} ({self.released.year})"Shell kemudian menampilkan <Movie: Alien (1979)>, begitu juga admin dan template apa pun yang mencetak {{ movie }}. __str__ harus mengembalikan teks. Method yang mencetaknya akan mengembalikan None, lalu str() gagal dengan TypeError.
Tantangan
Mudah- Buat sebuah buku menampilkan judul dan penulisnya, seperti
Dune by Frank Herbert.
Menjalankan pelajaran ini akan menambahkan empat buku. Tekan Jalankan, lalu ketik Book.objects.all() di tab Shell.
Coba sendiri
from django.db import models
class Book(models.Model):
class Genre(models.TextChoices):
FICTION = "fiction", "Fiction"
SCIFI = "scifi", "Science fiction"
MYSTERY = "mystery", "Mystery"
HISTORY = "history", "History"
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(default=False)
finished = models.DateField(null=True, blank=True)
summary = models.TextField(blank=True)
genre = models.CharField(max_length=20, choices=Genre, default=Genre.FICTION)
Semua pelajaran di Model dan Admin
1Model Pertamamu
Model PertamamuJenis Field2Membuat query dengan ORM
Membuat BarisAll dan GetFilter dan LookupMenghitung BarisMengurutkan BarisMemperbarui dan MenghapusLatihan sendiri: Playground Django