Python Django保存或更新模型

Python Django保存或更新模型,python,django,django-models,Python,Django,Django Models,我正在使用Django 1.5.1,我想保存或更新模型 我阅读了django文档,遇到了提供保存或更新的get\u或\u create方法。有这样一种用法 Model.objects.get_or_create(name='firstName',surname='lastName',defaults={'birthday': date(1990, 9, 21)}) 默认值字段仅用于获取。在设置阶段,仅设置姓名和姓氏。这是我从文件中了解到的 所以我想做一些不同的事情,设置名字,姓氏和生日,但得到

我正在使用Django 1.5.1,我想保存或更新模型

我阅读了django文档,遇到了提供保存或更新的
get\u或\u create
方法。有这样一种用法

Model.objects.get_or_create(name='firstName',surname='lastName',defaults={'birthday': date(1990, 9, 21)})
默认值
字段仅用于获取。在设置阶段,仅设置姓名和姓氏。这是我从文件中了解到的

所以我想做一些不同的事情,设置名字,姓氏和生日,但得到的名字和姓氏不包括生日。我在文件和其他地方看不到这样做的方法

我该怎么做


谢谢大家!

获取或创建
提供获取或创建的方法。不保存或更新。它的想法是:我想得到一个模型,如果它不存在,我想创建它并得到它

在Django中,您不必担心获得姓名或姓氏或任何属性。您将获得一个具有所有属性的模型实例,即

instance = Model.objects.get(name='firstName',surname='lastName')

print instance.birthday
print instance.name
print instance.surname
这个想法的概述可以是:
模型
是一个具有一组属性的数据结构,实例是一个模型的特定实例(由一个
主键
pk
),一个数字唯一标识),该模型具有一组特定的属性(例如
name=“firstName”


Model.objects.get
用于转到数据库并检索具有特定属性或属性集的特定实例。

自Django 1.7以来,有
更新或创建

obj, created = Person.objects.update_or_create(
    first_name='John',
    last_name='Lennon',
    defaults=updated_values
)
您提供的参数是用于查找现有对象的参数,
默认值
是将在现有或新创建的对象上更新的参数

返回一个元组,
obj
是创建或更新的对象,
created
是一个布尔值,指定是否创建了新对象


文档:

您的意思是,我只获取模型的一个实例(创建的或存在的)来更新它吗。所以我可以用额外的fieldsYes更新它。get是用来获取模型的。然后可以更改它(例如,
instance.name='newName'
)并保存它(
instance.save()
)。这是您通常“更新”特定实例的方式。注意Django中的“update”,这就是我添加双引号的原因。在实例上设置额外字段就像在普通对象上设置内容一样。然而,如果你想在模型上使用它,那么你必须做一些奇特的事情:)