Python 教程之 Django(7)Django 模型

73 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

Django模型是Django用于创建表,其字段和各种约束的内置功能。简而言之,Django模型是与Django一起使用的数据库的SQL。SQL(结构化查询语言)很复杂,涉及许多不同的查询,用于创建,删除,更新或与数据库相关的任何其他内容。Django模型简化了任务并将表格组织成模型。通常,每个模型都映射到单个数据库表。
本文将介绍如何使用Django模型方便地将数据存储在数据库中。此外,我们可以使用Django的管理面板来创建,更新,删除或检索模型的字段以及各种类似的操作。Django模型提供简单性,一致性,版本控制和高级元数据处理。模型的基础知识包括 –

  • 每个模型都是一个Python类,它子类化了django.db模型。
  • 模型的每个属性都表示一个数据库字段。
  • 有了所有这些,Django为您提供了一个自动生成的数据库访问API。

例–

from django.db import models

# 在此处创建模型。
class GeeksModel(models.Model):
	title = models.CharField(max_length = 200)
	description = models.TextField()

Django将Django模型中定义的字段映射到数据库的表字段中,如下所示。

image.png

使用 Django 模型

要使用Django模型,需要有一个项目和一个应用程序在其中工作。启动应用后,可以在应用/模型中创建模型.py。在开始使用模型之前,让我们检查一下如何启动项目并创建一个名为 geeks.py

创建模型

语法 

from django.db import models
        
class ModelName(models.Model):
        field_name = models.Field(**options)

要创建模型,请在极客/模型中.py输入代码,

# 从内置库导入标准Django模型
from django.db import models

# 声明一个名为“GeeksModel”的新模型
class GeeksModel(models.Model):
		# 模型的字段
	title = models.CharField(max_length = 200)
	description = models.TextField()
	last_modified = models.DateTimeField(auto_now_add = True)
	img = models.ImageField(upload_to = "images/")

		# 用标题名称重命名模型实例
	def __str__(self):
		return self.title

每当我们创建模型,删除模型或更新项目 models.py 的任何内容时。我们需要运行两个命令进行迁移和迁移。makemigrations基本上为预安装的应用程序(可以在 settings.py 的已安装应用程序中查看)和新创建的应用程序模型生成SQL命令,而迁移则在数据库文件中执行这些SQL命令。
所以当我们运行时,

Python manage.py makemigrations

创建上述模型作为表的 SQL 查询,然后创建

 Python manage.py migrate

在数据库中创建表。
现在我们已经创建了一个模型,我们可以执行各种操作,例如为表创建行或Django创建模型实例。