从Django表单

时间:2017-01-19 17:32:24

标签: django database

如何从表单编辑数据库中的现有对象?我用这个例如:

obj_ex = Model(column = value, column2 = value2) obj_ex.save()

但是,这不会更新数据库中的对象。我试图访问条目的pk并使用x的pk保存条目的值,但我仍然无法更新表。

有没有办法使用.update()类型来更新对象?或者还有另一种更新表的方法吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

而不是:

obj_ex = Model(column=value, column2=value2)

创建一个新实例(以及后来的新db记录)尝试:

o = Model.objects.get(pk=1234)  # load instance with id=1234 to memory from db
o.column = value
o.column2 = value2
o.save()

答案 1 :(得分:0)

因为我在表中有多个条目,所以我使用了更新字段来更新表中的单元格。这就是我所做的:

o = Model.objects.filter(x=value0).values_list("id", flat=True) #where x is posted information getting the primary key (id).
Model.objects.select_related().filter(id = o).update(column = value, column2 = value2)

更新字段不需要.save(),因为它会在调用表时更新表。

我要感谢Udi的回答,因为它确实让我朝着正确的方向前进。