📜  django 模型 (1)

📅  最后修改于: 2023-12-03 15:30:30.522000             🧑  作者: Mango

Django 模型

Django模型是一个轻量级的ORM框架,它充分利用了Python语言的优势,使得开发人员可以轻松地与数据库进行交互。通过定义模型,我们可以在Python中声明对象,并将对象映射到数据库中。

定义模型

在Django中,模型是Python类,用于描述数据结构,以及它们在数据库中的存储方式。每个模型都继承自django.db.models.Model类,这个类提供了一些很有用的方法和属性。例如,每个模型都具有自动生成的唯一ID属性,称为主键。

字段类型

在Django模型中,数据存储在字段中。Django支持多种不同的字段类型,包括整数、浮点数、日期时间、文本、二进制等等。以下是一些常见的字段类型:

  • CharField:用于存储字符串
  • IntegerField:用于存储整数
  • FloatField:用于存储浮点数
  • DateField:用于存储日期
  • DateTimeField:用于存储日期和时间
  • BooleanField:用于存储布尔值
示例

以下是一个简单的Django模型示例,它包含三个字段:name、age和email。

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()
    email = models.EmailField()

在此示例中,我们创建了一个名为Person的模型,用于存储人员信息。这个模型具有三个字段:name、age和email。

数据库迁移

当我们在Django中定义了一个新模型时,我们需要将该模型的定义同步到数据库中。为此,我们需要进行数据库迁移。数据库迁移是一个过程,它会检查您的模型定义与数据库是否同步,并使它们保持同步。

示例

以下是迁移模型的基本步骤:

  1. 运行以下命令,生成一个迁移文件

    python manage.py makemigrations myapp
    

    注意:myapp是您要进行迁移的应用程序的名称。

  2. 检查迁移文件是否正确

    您应该检查生成的迁移文件是否正确。您可以查看这个文件并检查它是否包含了所有的修改。 如果您需要修改迁移文件,可以编辑这个文件并重新运行makemigrations命令。

  3. 运行迁移文件

    python manage.py migrate
    

    这个命令将会应用之前生成的迁移文件,并将模型更新到最新状态。

数据库查询

对于一个Django模型,我们可以使用Django提供的API进行各种数据库查询。Django API非常强大,可以轻松地执行各种查询。以下是一些常用的查询方法:

get()

get()方法用于获取单个对象。如果查询到多个对象,则会发生DoesNotExistMultipleObjectsReturned异常。

示例
person = Person.objects.get(name='John')

在这个例子中,我们使用get()方法来查询一个名叫John的人。

filter()

filter()方法用于过滤对象。它根据指定的条件过滤对象。

示例
people_over_18 = Person.objects.filter(age__gt=18)

在这个例子中,我们使用filter()方法获取一个年龄大于18的人的列表。

总结

通过使用Django模型,我们可以轻松地与数据库进行交互。我们可以定义对象,将它们映射到数据库中,并使用API执行各种数据库查询。Django模型是Django框架的核心组成部分,也是Python Web开发的重要工具之一。