练习 - 创建模型
通过创建模型,可以定义任何重要字段以及数据的行为。 接下来为 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
值。 如果未提供自定义日期,它会自动将该字段设置为当前日期。
我们还要在 ForeignKey
类中使用 Dog
。 此部分告诉 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'
在项目中打开 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 项目的基础。