練習 - 建立模型
您可以藉由建立模型,定義任何重要欄位和資料的行為。 我們現在要為 dog_shelters 應用程式新增必要的模型。
建立模型
此流程的第一個步驟是新增模型。 Django 提供名為 models.py 的空白檔案,可供您在模型中使用。
在 Visual Studio Code 中開啟 dog_shelters/models.py 檔案。
在註解
Create your models here
下輸入下列程式碼,以新增兩個 Python 類別來包含模型:# Create your models here class Shelter(models.Model): name = models.CharField(max_length=200) location = models.CharField(max_length=200) def __str__(self): return self.name class Dog(models.Model): shelter = models.ForeignKey(Shelter, on_delete=models.PROTECT) name = models.CharField(max_length=200) description = models.TextField() intake_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.name
新增這些模型之後,我們就有了收容中心與流浪狗的表述。 請注意 Dog
與 Shelter
之間的關聯性:Shelter
類別可以存放許多 Dog
值。 另請注意 intake_date
的 auto_now_add
值。 若未提供自訂日期,則會自動將欄位設定為目前的日期。
我們也會在 Dog
類別中使用 ForeignKey
。 這部分會告訴 Django,Dog
與 Shelter
之間具有關聯性。 藉由定義此關聯性,我們便能告訴 Django 每隻流浪狗都與一間收容所相關聯。
註冊模型
所有應用程式都必須向 Django 中的專案註冊。 這可能有點違反直覺,但專案內包含應用程式資料夾,不表示該應用程式資料夾能夠自動載入。 我們需要將其新增至 INSTALLED_APPS
清單加以註冊。
尋找 dog_shelters 資料夾內的設定類別名稱。 若要尋找此類別名稱,請前往 dog_shelters/apps.py 檔案,並在下列程式碼中檢查類別名稱是否為
DogSheltersConfig
:class DogSheltersConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'dog_shelters'
在 project 中開啟 settings.py。
將完整路徑新增至註解
#[TODO] - Add the app to the list of INSTALLED_APPS
下的類別名稱:#[TODO] - Add the app to the list of INSTALLED_APPS 'dog_shelters.apps.DogSheltersConfig',
INSTALLED_APPS
清單現已包含下列項目:INSTALLED_APPS = [ #[TODO] - Add the app to the list of INSTALLED_APPS 'dog_shelters.apps.DogSheltersConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
將這行新增至
INSTALLED_APPS
清單中會告訴 Django,此應用程式在執行專案時必須包含在內。
摘要
您現在已為您的 Django 應用程式建立了兩個模型。 建立模型是所有 Django 專案的基礎。