以下是Django对数据库进行添加和更新的例子:
添加数据到数据库
1. 创建模型
在 Django 中创建数据模型是一个关键的过程。它定义了数据的结构,就像数据库中的表格一样。为了创建一个模型,你需要在你的 Django 应用的 models.py 文件中定义一个 Python 类来表示你想存储的数据。下面是一个示例:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
在这个示例中,Person 模型有 name 和 age 两个属性。name 属性是 CharField 类型,它最多可以存储 100 个字符的字符串,age 属性是 IntegerField 类型,它可以存储一个整数。这里用到的 models 包是 Django 自带的,它提供了一个数据库 API,可以用 Python 代码来操作数据库。
我们需要将这个模型注册到数据库中:
from django.contrib import admin
from myapp.models import Person
admin.site.register(Person)
这里我们用 admin.site.register() 方法将 Person 模型注册到 Django 自带的管理界面中。
2. 迁移数据库
在我们创建好了模型之后,需要运行一个命令来迁移数据库,将模型映射到数据库中:
python manage.py makemigrations
这个命令会自动生成一组数据库的迁移脚本。这里我们假设你的应用名称是 myapp。如果一切顺利,你应该会看到一条输出信息:
Migrations for 'myapp':
myapp/migrations/0001_initial.py
- Create model Person
3. 应用迁移
运行下面的命令来应用迁移,将模型映射到数据库中:
python manage.py migrate
如果一切顺利,你应该会看到这样的输出信息:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, myapp, sessions
Running migrations:
Applying myapp.0001_initial... OK
现在我们的数据库中就有了一个名为 Person 的表格。
4. 向数据库中添加数据
现在我们已经准备好向数据库中添加一些数据了。我们可以像此这样来操作:
from myapp.models import Person
p = Person(name='Tom', age=20)
p.save()
这段代码中,我们首先导入了 Person 模型,然后实例化了一个 Person 对象,并且将其保存到数据库中。我们可以在对象的属性中设置值,然后调用 save() 方法来将其保存到数据库中。这里我们创建了一个 name 为 “Tom”、age 为 20 的 Person 对象,接着将其保存到数据库中。
如果你想把一组数据遍历添加到模型中,可以像下面这样操作:
from myapp.models import Person
persons = [
{'name': 'Tom', 'age': 20},
{'name': 'Jerry', 'age': 18},
{'name': 'Mike', 'age': 25},
]
for person in persons:
p = Person(name=person['name'], age=person['age'])
p.save()
这里我们首先定义了一个包含三个 Person 对象的列表,然后遍历列表中的元素,将每个元素都实例化为 Person 对象,并将其保存到数据库中。当然,这里也可以使用批量插入的方式来优化性能。
更新数据库中的数据
在 Django 中,更新数据库中的数据也是很容易的。
首先,我们需要选中需要更新的数据条目,这可以用查询语句来完成:
person = Person.objects.get(name='Tom')
这里我们通过使用 filter() 方法来返回一个查询集,然后使用 get() 方法来选择我们想要更新的记录。这个方法返回一个 Person 对象,表示数据库中的匹配记录。这里我们选择了一个 name 属性等于 “Tom” 的 Person 对象。
接下来,我们可以更新这个对象的属性,然后调用 save() 方法来完成更新:
person.age = 21
person.save()
这里我们将 age 属性从 20 更新为 21。
除了直接修改对象的属性外,你也可以使用 update() 方法来批量更新多条记录:
Person.objects.filter(age__lt=20).update(age=20)
这个示例中,我们选择了 age 属性小于 20 的人,并将其 age 属性都更新为 20。
至此,我们完成了使用 Django 对数据库进行添加和更新的例子。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django对数据库进行添加与更新的例子 - Python技术站