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. 自动存储该实例到数据库。
下面,举两个实例进行说明:
- 我们有一个模型叫做
User
,它有三个字段:name
、email
和age
,现在我们需要向数据库中添加一条数据,我们可以这样写:
from myapp.models import User
user = User.objects.create(name='John', email='john@example.com', age=30)
- 我们有一个模型叫做
Blog
,它有两个字段:title
和content
,现在我们需要创建一篇新的博客,并把它发布到数据库中,我们可以这样写:
from myapp.models import Blog
blog = Blog.objects.create(title='First Blog', content='This is my first blog.')
blog.published = True
blog.save()
在这个例子中,我们先创建了一个blog
实例,将其title
和content
属性赋值,然后将published
属性设置为True
,最后调用save()
函数将其保存到了数据库中。
尤其需要注意的是,create()
并不返回一个QuerySet
对象,而是直接返回被创建的对象实例,这样我们可以直接对其进行操作,而不需要再次查询。