Django访问数据库接口
管理器(Manager)是Django的模型进行数据库查询操作的接口。Django 应用的每个模型都拥有至少一个管理器。默认情况下,Django 为每个模型类添加一个名为objects的管理器。管理器只能通过模型类访问,是对整个表进行操作的,不能通过模型实例访问。
以下面两个模型为例:
class Musician(models.Model): firstname= models.CharField(max_length=50) lastname= models.CharField(max_length=50) |
class Album(models.Model): musician = models.ForeignKey(Musician) name = models.CharField(max_length=100) |
一、创建实例(对应数据库中记录或元组)
创建一个对象实例的方法有以下几种:
(1) Musician.objects.create(firstname=”Jack”,lastname=”Lee”)
(2) p = Musician(firstname=”Jack”,lastname=”Lee”)
p.save()
(3) p = Musician(firstname=”Jack”)
p.lastname = “Lee”
p.save()
(4) Musician.objects.get_or_create(firstname=”Jack”,lastname=”Lee”)
注:第四种方法是防止重复很好的方法,但是速度要相对慢些,返回一个元组,第一个为Person对象,第二个为True或False,新建时返回的是True,