建立你的第一個模型

模型通常在應用程式子目錄下的 models.py 檔案中定義。django.db.models 類的 django.db.models 模組是擴充套件模型的良好起點。例如:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey('Author', on_delete=models.CASCADE, related_name='authored_books')
    publish_date = models.DateField(null=True, blank=True)

    def __str__(self): # __unicode__ in python 2.*
        return self.title

模型中的每個屬性代表資料庫中的一列。

  • title 是一個最大長度為 100 個字元的文字
  • authorForeignKey,它表示與另一個模型/表的關係,在這種情況下 Author(僅用於示例目的)。on_delete 告訴資料庫如果要刪除相關物件(Author)該如何處理物件。 (應該注意,因為 django 1.9 on_delete 可以用作第二個位置引數。在 django 2 中它是一個必需的引數 ,建議立即對它進行處理。在舊版本中它將預設為 CASCADE。)
  • publish_date 儲存日期。nullblank 都設定為 True,表示它不是必填欄位(即你可以在以後新增它或將其留空。)

除了屬性,我們定義了一個方法 __str__,它返回書的標題,必要時將其用作 string 表示,而不是預設值。