get_or_create()
函数是 Django ORM 中常用的查询函数之一,用于查询数据库中数据是否存在,如果不存在则创建新的一条数据,如果存在则返回已经存在的一条数据。
get_or_create()
函数的参数包含两部分:
示例:
# 查询book表中name为'Python Web开发'的书籍,如果不存在则创建一条新的数据
book, created = Book.objects.get_or_create(name='Python Web开发', price=78.5)
以上代码的含义为:查询 book 表中 name 为 'Python Web开发' 的书籍,如果存在则返回已经存在的这条数据;如果不存在,则创建一条新的数据,将新数据的 name 字段设为 'Python Web开发',price 字段设为 78.5,并将新数据保存到数据库中。返回的结果中,book 表示获取到的数据,created 表示是否创建了新的数据,如果是 True 则表示创建了新的数据,否则表示获取到的是已存在的数据。
假设有一个保存用户信息的Model,名为UserInfo。
class UserInfo(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
user, created = UserInfo.objects.get_or_create(name='Jack', age=20)
以上代码的含义为:查询 UserInfo 表中 name 为 'Jack',age 为 20 的数据是否存在,如果存在则返回已存在的数据,如果不存在则创建一条新数据,将数据的 name 字段设为 'Jack',age 字段设为 20,并保存到数据库中。参考返回的结果为:
user = <UserInfo: UserInfo object>
created = True # 表示创建了一条新的数据
user, created = UserInfo.objects.get_or_create(name='Tom', age=25)
以上代码的含义为:查询 UserInfo 表中 name 为 'Tom',age 为 20 的数据是否存在,如果存在则返回已存在的数据;如果不存在则创建一条新数据,将数据的 name 字段设为 'Tom',age 字段设为 25,并保存到数据库中。参考返回的结果为:
user = <UserInfo: UserInfo object>
created = True # 表示创建了一条新的数据
以上是 Django 中 get_or_create()
函数的使用方法和示例。
本文链接:http://task.lmcjl.com/news/4180.html