Bir Kitap Nasıl Görüntülenir
Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 5 / 23.
Çalıştır'a basın ve Shell sekmesine Book.objects.all() yazın: her kitap <Book: Book object (1)> olarak görünür ve onları birbirinden ayıramazsınız. Python, bir nesneyi __str__ yöntemiyle metne dönüştürür ve her modelin sahip olduğu yöntem yalnızca kimliği gösterir. Bir model kendi yöntemini tanımlayabilir. Bir film sitesindeki Movie, başlığını ve yılını yazdırabilir:
class Movie(models.Model):
...
def __str__(self):
return f"{self.title} ({self.released.year})"Ardından Shell'de <Movie: Alien (1979)> görünür; aynı şekilde yönetici arayüzünde ve {{ movie }} yazdıran tüm şablonlarda da görünür. __str__ metni return etmelidir. Metni yazdıran bir yöntem None döndürür ve bu durumda str() bir TypeError hatası verir.
Görev
Kolay- Bir kitabı,
Dune by Frank Herbertörneğindeki gibi başlığı ve yazarıyla birlikte yazdır.
Bu dersin Çalıştır düğmesi dört kitap ekler. Çalıştır'a bas ve Shell sekmesine Book.objects.all() yaz.
Kendin dene
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)
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