建立你的第一個模型
模型通常在應用程式子目錄下的 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 個字元的文字author
是ForeignKey
,它表示與另一個模型/表的關係,在這種情況下Author
(僅用於示例目的)。on_delete
告訴資料庫如果要刪除相關物件(Author
)該如何處理物件。 (應該注意,因為 django 1.9on_delete
可以用作第二個位置引數。在 django 2 中它是一個必需的引數 ,建議立即對它進行處理。在舊版本中它將預設為CASCADE
。)publish_date
儲存日期。null
和blank
都設定為True
,表示它不是必填欄位(即你可以在以後新增它或將其留空。)
除了屬性,我們定義了一個方法 __str__
,它返回書的標題,必要時將其用作 string
表示,而不是預設值。