详解Django的 create() 函数:创建对象

  • Post category:Python

Django的create()函数是ORM(Object-Relation Mapping)的一部分,可以在django.db.models.query.QuerySet中使用。其作用是创建一个Model实例并将其保存到数据库中。

使用方法:

model_instance = Model.objects.create(**kwargs)

其中,Model是你要创建的Model类,**kwargs是该Model实例的属性键值对。

具体来说,create()可以做到以下几件事情:
1. 创建一个Model实例;
2. 将object的__init__()save()封装成为一个原子操作;
3. 自动存储该实例到数据库。

下面,举两个实例进行说明:

  1. 我们有一个模型叫做User,它有三个字段:nameemailage,现在我们需要向数据库中添加一条数据,我们可以这样写:
from myapp.models import User

user = User.objects.create(name='John', email='john@example.com', age=30)
  1. 我们有一个模型叫做Blog,它有两个字段:titlecontent,现在我们需要创建一篇新的博客,并把它发布到数据库中,我们可以这样写:
from myapp.models import Blog

blog = Blog.objects.create(title='First Blog', content='This is my first blog.')
blog.published = True
blog.save()

在这个例子中,我们先创建了一个blog实例,将其titlecontent属性赋值,然后将published属性设置为True,最后调用save()函数将其保存到了数据库中。

尤其需要注意的是,create()并不返回一个QuerySet对象,而是直接返回被创建的对象实例,这样我们可以直接对其进行操作,而不需要再次查询。