OpenERP 7 |是否有类似于on_submit的事件以及确定表单字段是否有更改的方法?

OpenERP 7 |是否有类似于on_submit的事件以及确定表单字段是否有更改的方法?,openerp,openerp-7,Openerp,Openerp 7,场景: 我的应用程序需要与OpenERP进行数据同步。我计划通过以下方式实现这一目标: 在OpenERP模型上创建日期时间字段需要同步数据 每次更新OpenERP模型时,该日期时间字段值都会更改为当前日期时间 从应用程序的角度来看,我将在给定的时间间隔内执行cron工作。我实际上不会使用cron作业,为了简单起见,让我们继续使用cron作业 我的应用程序将请求搜索日期时间字段值大于上次检查时间的所有条目 问题 是否有某种事件允许我在提交表单时调用自定义函数 在我的功能范围内,当编辑模型的条

场景:

我的应用程序需要与OpenERP进行数据同步。我计划通过以下方式实现这一目标:

  • 在OpenERP模型上创建日期时间字段需要同步数据
  • 每次更新OpenERP模型时,该日期时间字段值都会更改为当前日期时间
  • 从应用程序的角度来看,我将在给定的时间间隔内执行cron工作。我实际上不会使用cron作业,为了简单起见,让我们继续使用cron作业
  • 我的应用程序将请求搜索日期时间字段值大于上次检查时间的所有条目
问题

  • 是否有某种事件允许我在提交表单时调用自定义函数
  • 在我的功能范围内,当编辑模型的条目时,是否可以确定是否有任何表单字段值已更改

OpenERP ORM有一个创建和写入方法。您将需要重写这两种方法,因为它们都与提交类型方法相同,但对新记录或现有记录都会调用它们

您所要做的就是重写一个或两个方法,并调用super以确保实际写入了记录,然后执行您想要的任何操作。您还可以拦截写入并进行更改。对于创建,代码将是:

def create (self, cr, uid, values, context = None):
    new_id = super(MyObject, self).create(cr, uid, values, context = context)
    # Do stuff here.  Can look in values dict to see what has changed
    return new_id
write方法基本相同,只是您还获得了要写入的id


OpenERP已经有了创建和写入日期,但这些都是用于OpenERP审核和锁定的,您可能应该实现自己的日期/时间标记。最简单的方法是将其设置为函数字段并设置store=True,这样每次写入记录时都会重新计算并存储该字段。OpenERP ORM有一个创建和写入方法。您将需要重写这两种方法,因为它们都与提交类型方法相同,但对新记录或现有记录都会调用它们

您所要做的就是重写一个或两个方法,并调用super以确保实际写入了记录,然后执行您想要的任何操作。您还可以拦截写入并进行更改。对于创建,代码将是:

def create (self, cr, uid, values, context = None):
    new_id = super(MyObject, self).create(cr, uid, values, context = context)
    # Do stuff here.  Can look in values dict to see what has changed
    return new_id
write方法基本相同,只是您还获得了要写入的id


OpenERP已经有了创建和写入日期,但这些都是用于OpenERP审核和锁定的,您可能应该实现自己的日期/时间标记。最简单的方法是将其设置为函数字段,并设置store=True,这样每次写入记录时都会重新计算并存储它

Cheers mate。我在OpenERP Q&A()上也问过同样的问题。如果你有兴趣赚取一些业力,请前往那里粘贴这个答案,这样我会接受它。谢谢-我从Nginx ATM收到了坏的网关错误。稍后再试。干杯,伙计。我在OpenERP Q&A()上也问过同样的问题。如果你有兴趣赚取一些业力,请前往那里粘贴这个答案,这样我会接受它。谢谢-我从Nginx ATM收到了坏的网关错误。我稍后再试。