这样的代码会编辑表中的唯一行而不是创建新行,这有什么原因吗
newStudent = Student(name=var.name,
mark=var.mark,
year=newyear)
newStudent.save()
说明:
我正在整理学生档案。此视图在我更新学生信息时调用。
var.name
是学生在编辑前的姓名,var.mark
是学生在编辑前的标记newyear
是我添加此信息的年份
此视图每年调用一次(即,学生每年都有一个新名称和标记)。在这些行之后,我继续编辑学生的当前年份信息
问题:
此代码编辑数据库中Student表中的唯一行,而不是添加新行
如果在创建对象时使用现有主键,则可以更新对象
您可以使用
update_or_create
方法,这是一种方便的方法,用于更新具有给定名称的对象,并在必要时创建一个新的对象。默认值是用于更新对象的(字段、值)对字典返回(object,created)的元组,其中object是已创建或更新的对象,created是指定是否创建新对象的布尔值
如果希望创建对象,请使用django的模型管理器方法来创建对象,即:
这将确保显式创建,而不是使用现有值获取行
相关问题 更多 >
编程相关推荐