Django快速入门-数据库模型
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代码即可完成对数据库的操作。
相关文章