Menu
CoddyTech

Seçenekler

Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 4 / 23.

Bir tür, herhangi bir metin değil, birkaç değerden biri olmalıdır. choices seçeneği, bir numaralandırma sınıfı olarak verilen listeyle alanı sınırlar. Bir film sitesi, bir filmin kimler için olduğunu sınırlayabilir:

class Movie(models.Model):
    class Age(models.TextChoices):
        ALL = "all", "All ages"
        TEEN = "teen", "13 and over"
        ADULT = "adult", "18 and over"

    age = models.CharField(max_length=10, choices=Age, default=Age.ALL)

Her üyenin veritabanında saklanan bir değeri, "teen", ve insanların okuduğu bir etiketi, "13 and over", vardır. Kodda Movie.Age.TEEN yazarsın; böylece bir yazım hatası yeni bir değer oluşturmak yerine hataya yol açar. Sınıf, onu kullanan alandan önce gelir.

Formlar ve yönetici arayüzü etiketleri açılır listede gösterir ve diğer değerleri reddeder; veritabanının kendisi denetleme yapmaz. movie.get_age_display() bir satırın etiketini döndürür.

challenge icon

Görev

Kolay

Book için bir tür belirleyin:

  • Book içinde bir seçenek sınıfı olan Genre: FICTION ("fiction", "Fiction"), SCIFI ("scifi", "Science fiction"), MYSTERY ("mystery", "Mystery"), HISTORY ("history", "History").
  • En fazla 20 karakter alan, bu seçeneklerle sınırlı bir genre alanı; başka bir tür seçmediğiniz sürece kurgu.

Shell sekmesinde Book.Genre.SCIFI.label ifadesini deneyin.

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(default=False)
    finished = models.DateField(null=True, blank=True)
    summary = models.TextField(blank=True)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Modeller ve Yönetim Paneli bölümündeki tüm dersler

Kendi başına pratik yap: Django playground