📅  最后修改于: 2023-12-03 15:00:26.539000             🧑  作者: Mango
Django ORM(对象关系映射)是Django框架中使用的一种机制,它可以简化从Python代码到数据库的数据交互。本文将介绍如何使用Django ORM插入、更新和删除数据。
首先,确保在你的Django项目中已经配置了数据库。在Django中,你可以通过在settings.py
文件中设置DATABASES
来配置数据库连接。
例如,在settings.py
中设置SQLite3数据库连接:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
在使用Django ORM之前,你需要先定义一个模型(即数据库表)。定义模型可以通过创建Python类完成,其中类的属性将映射到数据库表的列。
例如,定义一个Person
模型:
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
age = models.IntegerField()
在上面的例子中,Person
模型将映射到名为app_name_person
的数据库表中。
要向数据库中插入数据,你可以使用模型的objects.create
方法,也可以使用模型的save
方法。
在使用objects.create
方法时,只需要在方法中提供模型的属性即可。例如:
person = Person.objects.create(first_name='John', last_name='Doe', age=30)
将向Person
表中插入一个新的记录,记录的属性为first_name='John'
、last_name='Doe'
和age=30
。
使用save
方法插入数据时,你需要先创建一个模型实例,然后在保存该实例时向其设置属性。例如:
person = Person()
person.first_name = 'John'
person.last_name = 'Doe'
person.age = 30
person.save()
完成上述操作后,person
实例将被保存到Person
表中。
要更新数据库中的记录,可以直接设置模型的属性并使用save
方法保存。也可以使用objects.update
方法进行更新。
例如,将John的年龄更新为35:
person = Person.objects.get(first_name='John')
person.age = 35
person.save()
使用objects.update
方法更新时,将在指定的筛选条件下更新符合条件的所有记录。例如:
Person.objects.filter(age=30).update(age=35)
将更新所有年龄为30的人的年龄为35。
要删除数据库中的记录,可以使用模型的delete
方法,也可以使用objects.filter
方法。需要注意,使用delete
方法会永久删除记录,谨慎使用。
例如,从Person
表中删除名为John的记录:
person = Person.objects.get(first_name='John')
person.delete()
或者,从Person
表中删除所有年龄为30的人:
Person.objects.filter(age=30).delete()
在上面的例子中,我们介绍了如何使用Django ORM插入、更新和删除数据。通过使用Django ORM,我们可以使用Python代码,与数据库进行交互,无需编写SQL语句。这大大简化了开发和维护过程,提高了开发效率。