Django快速入门-数据库模型

2023-07-19 13:49:50 django 入门 快速
数据库模型是Django中的一个重要概念,用于描述和定义数据在数据库中的结构和关系。在Django中,数据库模型使用Python类来表示,这些类继承自Django提供的Model类,通过定义模型的各个属性和方法,可以实现对数据库的操作和管理。

1. 定义模型类

在Django中,可以使用以下代码来定义一个简单的数据库模型类:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    pub_date = models.DateField()
    price = models.DecimalField(max_digits=5, decimal_places=2)

在上面的代码中,我们定义了一个名为Book的模型类,它继承自Django的Model类。模型类中的每个属性都是一个Field类的实例,用于描述数据库中的字段。

1) title字段使用CharField类表示,可以存储最大长度为100的字符串。

2) author字段和title字段类似,也使用CharField类表示。

3) pub_date字段使用DateField类表示,用于存储日期。

4) price字段使用DecimalField类表示,用于存储货币类型的数据,max_digits表示最大位数,decimal_places表示小数位数。

2. 创建数据库表

在定义了模型类之后,需要在数据库中创建对应的表结构。Django提供了一个命令行工具manage.py,可以通过运行以下命令来完成数据库迁移:

python manage.py makemigrations
python manage.py migrate

上述命令会根据模型类的定义,在数据库中创建对应的表结构。makemigrations命令会生成一些包含数据库迁移操作的文件,而migrate命令则会根据这些文件来执行实际的数据库操作。

在执行migrate命令之后,可以通过数据库管理工具来查看已创建的表结构,也可以使用Django提供的管理命令来查看模型类对应的数据库表:

python manage.py dbshell
.tables

通过以上命令进入数据库命令行界面,输入.tables可以查看当前数据库中的所有表。

3. 对数据库进行操作

在定义模型类之后,可以通过模型类来进行数据库的增、删、改、查等操作。以下是一些常用的数据库操作示例:

1) 添加数据:

book = Book(title='Python编程入门', author='张三', pub_date='2022-01-01', price=59.9)
book.save()

以上代码创建了一个Book对象,并调用了save()方法将其保存到数据库中。

2) 修改数据:

book = Book.objects.get(title='Python编程入门')
book.price = 69.9
book.save()

以上代码根据title字段查询到符合条件的Book对象,并修改了其price属性,最后将修改后的数据保存到数据库中。

3) 删除数据:

book = Book.objects.get(title='Python编程入门')
book.delete()

以上代码根据title字段查询到符合条件的Book对象,并调用了delete()方法将其从数据库中删除。

4) 查询数据:

books = Book.objects.filter(author='张三')
for book in books:
    print(book.title)

以上代码使用filter()方法过滤出author为'张三'的Book对象,并遍历打印它们的title属性。

通过以上示例,可以看到通过模型类进行数据库操作非常方便,开发者不需要编写SQL语句,只需使用简洁的Python代码即可完成对数据库的操作。

相关文章