自动创建新的数据库行

时间:2017-08-31 12:32:21

标签: django django-templates django-views

我的应用程序每位客户每天创建几行数据。使用表单根据需要修改每一行。可以每天对行进行一些修改。在一天结束时,客户将承诺"更改,此时不允许进一步更改。在每一排我都有一个'阶段' field,stage = 1允许编辑,stage = 2已提交,不允许进一步更改。

如何在提交时将阶段值更新为2? 在我的模型中,我有:

@property
def commit_stage(self):
    self.stage = 2
    self.save()

这是正确的方法吗?如果是这样,我如何将此功能附加到" commit"按钮。

1 个答案:

答案 0 :(得分:0)

我怀疑你对什么属性做了很困惑。您应该绝对不将此类功能附加到属性。对于应该从实例中检索值而不是修改它并将其保存到数据库的东西,这将是非常令人惊讶的行为。

您当然可以将其置于标准模型方法中。但这是微不足道的,没有必要这样做。

在“将其附加到按钮”方面,没有URL和视图,可以从前端调用Django中的任何内容。您需要一个视图,该视图接受来自POST请求的模型实例的ID,获取实例并修改其阶段值,然后保存它。与您已经使用的表单视图没有什么不同。